NSNumber和NSValue对比

一、NSNumber包装int、float、bool等类型

NSNumber *boolNumber = [NSNumber  numberWithBool:YES];

[boolNumber  boolValue]; //解包bool


NSNumber *intNumber = [NSNumber  numberWithInt:3];

[intNumber  intValue];//解包int


NSNumber *floatNumber = [NSNumber  numberWithFloat:0.2];

[floatNumber  floatValue];//解包float

二、NSValue可以包装任意一个对象,包括系统自定义的数据结构,结构体等。NSNumber是NSValue的一个子类

NSValue *pointValue = [NSValue  valueWithCGRect:CGRectMake(0, 0, 200, 30)];

[pointValue  CGRectValue];

NSLog(@"pointValue  == %@",pointValue);

NSLog(@"pointValue  CGRectValue == %f",[pointValue  CGRectValue].size.height);

控制台打印信息
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容