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;定义的。

最新文章

  1. c#中多线程同步Lock(锁)的研究以及跨线程UI的操作
  2. llvm-summary
  3. rails程序文件名命名规范
  4. 解决Android Studio 和 Android SDK Manager 无法在线更新的问题.
  5. Html/Css(新手入门第一篇)
  6. JS原生方法实现jQuery的ready()
  7. gcc编译出现的问题
  8. 问题:loadrunner录制event为0
  9. Linux程序设计(一)入门
  10. Caffe Python特征抽取
  11. C语言中的字符串截取函数
  12. Mac OSX的开机启动配置
  13. Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用(上)
  14. python 标准库 -- subprocess
  15. JavaScript实现接口的三种经典方式
  16. Centos 7 最小化kvm部署
  17. linux下安装部署ansible
  18. win10与虚拟机fedora14使用samba文件共享
  19. 计划任务_crontab
  20. (转)/etc/init.d/functions详解

热门文章

  1. 常用SQL语句写法(一)
  2. Android NFC 整理
  3. Flask (二) cookie 与 session 模型
  4. 给ACM newer的编程技巧
  5. CATIA 使用技巧--转换出轻巧的tif格式文件
  6. Python type class metaclass
  7. 105 Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树
  8. SSH的端口转发
  9. 在自己的linux服务器上面部署ShowDoc
  10. dos命令安装windows服务