NSNumber和NSValue对比

2017-08-30  本文已影响0人  _锋

一、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);

控制台打印信息
上一篇 下一篇

猜你喜欢

热点阅读