1、NSNumber可以表示多种基本数据类型,如int、bool、char、float、double,以及他们加了修饰符long、unsigned的类型。
 
 
2、创建方法可以使用numberWithInt: numberWithInterger。也可以使用initWithInt方法
 
 
3、获取的方法可以使用intValue、doubleValue或者返回字符串类型stirngValue
 
 
4、使用NSNumber的compare方法比较两个值,返回的对象可以转化为-1、0、1,分别代表小于、等于、大于。与bool值比较时,YES代表1,当另一个数大于1时返回1,小于1时返回-1
     真正返回的是一个枚举类型NSComparisonResult,
   另一个方法isEqualToNumber,返回bool值,这个方法更好用
enum  {
NSOrderedAscending=-1,
NSOrderedSame,
    NSOrderedDescending
};typedefNSIntegerNSComparisonResult;
 
        // 比较两个NSNumber
        NSNumber *num1 = [[NSNumber alloc] initWithBool:YES];
        NSNumber *num3 = [[NSNumber alloc] initWithChar:'d'];
        NSLog(@"%ld",(long)[num1 compare:num3]);// -1
 
 
 
5、如果需要判断NSNumbr的具体类型,如判断是不是bool类型的值
NSNumber * n = [NSNumber numberWithBool:YES];
if (strcmp([n objCType], @encode(BOOL)) == 0) {
    NSLog(@"this is a bool");
} else if (strcmp([n objCType], @encode(int)) == 0) {
    NSLog(@"this is an int");
}

最新文章

  1. 【转】Java并发编程注意事项
  2. SVN-简要说明
  3. Linux在目录中查找某个函数
  4. ubuntu下设置clion是使用clang和clang++
  5. SQL server 2008 安装问题解决
  6. 如何用 Retrofit 2 在安卓上实现 HTTP 访问?
  7. yield 学习笔记
  8. Python可视化库Matplotlib的使用
  9. linux mysql重启命令
  10. 单机部署-consul
  11. PHP学习笔记 02 之文件上传
  12. platform怎么实现数据数据和驱动分离
  13. 二叉查找树及B-树、B+树、B*树变体
  14. Python入门 日志打印
  15. flask-appbuilder +echarts 展示数据笔记
  16. C#根据byte前两位获取图片扩展名
  17. java 判断字符串IP合法性以及获取IP的数值形式
  18. 测试效率 timeit cProfile
  19. Oracle 11gR2 RAC监听器原理介绍
  20. JNI由浅入深_8_JNI缓存字段和方法ID

热门文章

  1. TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议
  2. Coin Change
  3. tcp ip detatils
  4. 基于centos搭建nginx+uwsgi运行django环境
  5. HDU1004 查气球
  6. NEFU 1151 特殊的质数
  7. Linux底下的第一个C程序
  8. useradd mfs -s /sbin/nologin -M
  9. [转]Java Thread Dump 性能分析
  10. hdu 4006 优先队列 2011大连赛区网络赛F **