NSNumber

  1. + (NSNumber *)numberWithInt:(int)value;
  2. + (NSNumber *)numberWithDouble:(double)value;
  3. - (int)intValue;
  4. - (double)doubleValue;

NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等等。 
NSNumber * intNumber=[NSNumber numberWithInt:100]; 
NSNumber *floatNumber=[NSNUmber numberWithFloat:100.00]; 
int i=[intNumber intValue]; 
if([intNumber isEqualToNumber:floatNumber]) .... 
NSNumber继承NSObject ,可以使用比较 compare: isEqual等消息

  1. int main (int argc, constchar * argv[]) {
  2. NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc] init];
  3. NSNumber* intNumber;
  4. NSNumber* floatNumber;
  5. ];
  6. floatNumber = [NSNumbernumberWithFloat:99.9];
  7. NSInteger myInt;
  8. myInt = [intNumber integerValue];
  9. NSLog(@"myInt = %li", myInt);
  10. [pool drain];
  11. return0;
  12. }

一般来说,无需担心需要释放Foundation方法返回的对象。有时候,对象由返回它的方法所有。其他情况下,对象是由方法新创建的并被添加到自动释放池里。使用完由alloc方法显式创建的对象(包括Foundation对象)之后,需要释放它们。

如上例中,无需对intNumber,floatNumber调用release释放内存。

但如果采用intNumber = [NSNumber alloc] initWithInt:100]; 创建,在使用完后,需要使用[intNumber Release];来释放它。

另外,NSInteger并不是一个类,使用使用typedeflong NSInteger;定义的。

ios之NSNumber的更多相关文章

  1. iOS - OC NSNumber 数字

    前言 @interface NSNumber : NSValue @interface NSDecimalNumber : NSNumber 将基本数据类型包装成 OC 对象 1.NSNumber 与 ...

  2. iOS - Swift NSNumber 数字

    前言 public class NSNumber : NSValue public class NSDecimalNumber : NSNumber NSNumber 可以被赋值为各种数值类型.我们可 ...

  3. Foundation 学习笔记

    笔记内容 学习笔记-段玉磊 Stanford course Foundation and Attributed Strings Dynamic binding id 是一个指向任何未知对象的指针,(t ...

  4. [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}

    IOS数组.字典.NSNumber 新写法—— @[].@{}   //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...

  5. 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber

    http://www.bubuko.com/infodetail-382485.html 标签:des   class   style   代码   html   使用   问题   文件   数据 ...

  6. iOS开发之int,NSInteger,NSUInteger,NSNumber的使用

    1.首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/F ...

  7. 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的差别和联系

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/weasleyqi/article/details/33396809 1.首先先了解下NSNumber ...

  8. iOS学习14之OC NSNumber + NSValue

    1.NSNumber 数值类. 作用:实现基本数据类型与OC对象类型的相互转化. 1> NSNumber创建对象 // 初始化方法 NSNumber *num1 = [[NSNumber all ...

  9. iOS NSNumber转化NSString之description

    我们经常需要把一个数字转成字符串,当你不需要配合其他字符串的时候可以用description. /** description属于NSObject 值是NSNumber时候,不用stringWithF ...

随机推荐

  1. android通过获取摄像头照片,实时与点传输

    http://blog.csdn.net/csh159/article/details/7926654/ GetIP: [html] view plain copy print? package co ...

  2. 3DMAX 烘培技术

    烘培是指,把光照信息渲染成贴图,而后把这个烘培后的贴图再贴回到场景中去的技术.烘培技术把光照计算的结果提前写入到了贴图中,因此在实时渲染中不需要进行耗时的光照计算,大大提高了实时渲染的效率. 烘培和渲 ...

  3. Ogre 简易角色Demo

    参考Sample中的角色类,使用ExampleApplication.h改写,只编译了release,debug在配置文件名字上有不同 遗留一个问题 mBodyEnt->getSkeleton( ...

  4. C#连接Sybase数据库,Anywhere 8

    数据库版本是Adaptive Server Anywhere 8 1.添加引用,程序集 iAnywhere.Data.AsaClient.dll文件在数据库的安装目录下,例如:C:\Program F ...

  5. Spring pom.xml配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. css margin padding 四个方向

    margin 和padding虽然有四个单独的方向属性,如margin-left,padding-bottom等等. 但是可以用margin:2px 3px 4px 5px     四个参数的含义:上 ...

  7. swap(2018.10.16)

    题意:给定一个{0,1,2,3,-,n-1}的排列 p. 一个{0,1,2 ,-,n-2}的排列 q 被认为是优美的排列, 当且仅当 q 满足下列条件 对排列 s={0,1,2,3,...,n-1}进 ...

  8. JavaScript 原生提供两个 Base64 相关的方法

    JavaScript 原生提供两个 Base64 相关的方法. btoa():任意值转为 Base64 编码 atob():Base64 编码转为原来的值 var string = 'Hello Wo ...

  9. localStorage和sessionStorage使用

    localStorage.setItem("key","value");//存数据 localStorage.getItem("key"); ...

  10. Caffe实战五(Caffe可视化方法:编译matlab接口)

    接上一篇文章,这里给出配置caffe后编译matlab接口的方法.(参考:<深度学习 21天实战Caffe 第16天 Caffe可视化方法>) 1.将Matlab目录更新至Caffe的Ma ...