Objective-c 数字对象(NSNumber)

来源:互联网 发布:vb应用程序的界面设计 编辑:程序博客网 时间:2024/05/10 17:07
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。

NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。

#import <Foundation/Foundation.h>    NSNumber *myNumber,*floatNumber,*intNumber,*number1;    //创建integer类型对象  intNumber = [NSNumber numberWithInteger:123];  NSLog(@"%i",[intNumber integerValue]);    //创建long类型对象  myNumber = [NSNumber numberWithLong:0xababab];  NSLog(@"%lx",[myNumber longValue]);    //创建char类型对象  myNumber = [NSNumber numberWithChar:'K'];  NSLog(@"%c",[myNumber charValue]);    //创建float类型对象  floatNumber = [NSNumber numberWithFloat:123.00];  NSLog(@"%f",[floatNumber floatValue]);    //创建double类型对象  myNumber = [NSNumber numberWithDouble:112233e+15];  NSLog(@"%lg",[myNumber doubleValue]);    //判断两个对象的值是否相等  if ([intNumber isEqualToNumber:floatNumber] == YES ) {     NSLog(@"值相等");  } else {     NSLog(@"值不相等");  }    //比较两个对象的值大小  if ( [intNumber compare:myNumber] == NSOrderedAscending) {     NSLog(@"左边的数字小");  } else {     NSLog(@"左边的数字大");  }    //初始化实例  number1 = [[NSNumber alloc] initWithInt:1000];  NSLog(@"%d",[number1 intValueunsigned];  [number1 release];  

对于每个基本类型,类方法都为这它分配了一个NSNumber对象,并将其设置为指定的值,这些方法都是以numberWith开始的,之后是类型,如numberWithLong。
此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如initWithLong。

如:

创建和初始化类方法初始化实例方法取值实例方法numberWithChar:initWithChar:charValuenumberWithShort:initWithShort:shortValue.........





0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果屏幕磨花了怎么办 白色磨砂手机壳脏了怎么办 胶皮手机壳变黄怎么办 手机壳边缘黑了怎么办 手机壳磨黑了怎么办 iphon8原装后壳碎裂怎么办 皮的手机壳发黄怎么办 荣耀手机一直在开机画面怎么办 玻璃手机壳碎了怎么办 华为6x信号不好怎么办 昂达平板v819i刷成砖了怎么办 华为5x忘记密码怎么办 荣耀8开不了机怎么办 华为5s死机了怎么办 华为重启后忘了解锁密码怎么办 华为mate.9上网速度慢怎么办 华为mate10上网速度慢怎么办 四核豌豆2变砖怎么办 苹果32g不够用怎么办 移动4g网络卡怎么办 移动4g网非常卡怎么办 移动4g卡网速慢怎么办 手机移动4g网卡怎么办 华为手机摄像头进灰怎么办 美图t8忘记密码怎么办 华为mate7忘记开机密码怎么办 华为mate9开机密码忘记怎么办 华为手机系统更新失败怎么办 mate9系统升级后耗电快怎么办 华为荣耀手机耗电快怎么办 荣耀10手机拍照不清晰怎么办 荣耀6x拍照模糊怎么办 华为荣耀P9进水了怎么办 苹果5s手机信号不好怎么办 苹果5s信号不好怎么办? 苹果5s像素不好怎么办 华为mate边缘有缝怎么办 华为mate8边缘有缝怎么办 手机系统占用运行内存大怎么办 安卓手机储存空间不足怎么办 手机显示系统空间不足怎么办