zoukankan      html  css  js  c++  java
  • 14-NSNumber

    1、NSNumber

    NSNumber 可以将各种基本数据类型包装成NSNumber对象。

    下面是常见的NSNumber方法:分别将各种基本数据类型包装成NSNumber对象。

    + (NSNumber *)numberWithBool:(BOOL)value                                          等价于@(BOOL)value

    + (NSNumber *)numberWithChar:(Char)value                                           等价于@(Char)value

    + (NSNumber *)numberWithDouble:(double)value                                     等价于@(double)value

    + (NSNumber *)numberWithFloat:(float)value                                           等价于@(float)value

    + (NSNumber *)numberWithInt:(int)value                                                 等价于@(int)value

    + (NSNumber *)numberWithInteger:(NSInteger)value                                等价于@(NSInteger)value

    + (NSNumber *)numberWithLong:(long)value                                            等价于@(long)value

    + (NSNumber *)numberWithLongLong:(long long)value                              等价于@(long long)value

    + (NSNumber *)numberWithShort:(short)value                                          等价于@(short)value

    + (NSNumber *)numberWithUnsignedChar:(unsigned char)value                 等价于@(unsigned char)value

    + (NSNumber *)numberWithUnsignedInt:(unsigned int)value                      等价于@(unsigned int)value

    + (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value                 等价于@(NSUInteger)value

    + (NSNumber *)numberWithUnsignedLong:(unsigned long)value                 等价于@(unsigned long)value

    + (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value   等价于@(unsigned long long)value

    + (NSNumber *)numberWithUnsignedShort:(unsigned short)value               等价于@(unsigned short)value

    1、注意点

    (1) [NSNumber numberWithInt:10];  和 @10; 是等价的

    由于[NSNumber numberWithInt:10];  和 @10; 是等价的。上面的代码也可以是:

    其他的基本数据类型跟这个是一个道理,不再作详细介绍。

    (2) @'A'   和 @"A"的区别

      1> 'A' 是字符,属于char类型,是基本数据类型,所以 @'A' 相当于 numberWithChar: 'A' ;将字符 'a' 转换成了NSNumber类型的OC对象。

      2> @"A"是OC字符串,本身就已经是OC对象。

    (3)@(变量) 把变量包装成NSNumber对象

    正确写法是: @(age);

     

  • 相关阅读:
    STL之vector详解
    vim下使用YouCompleteMe实现代码提示、补全以及跳转设置
    Ceph之数据分布:CRUSH算法与一致性Hash
    ceph之crush算法示例
    Js正则Replace方法
    JS框架设计之加载器所在路径的探知一模块加载系统
    JS模块加载系统设计V1
    JS框架设计之模块加载系统
    Builder生成器(创建型模式)
    JS框架设计之主流框架的引入机制DomeReady一种子模块
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/4006859.html
Copyright © 2011-2022 走看看