ios之NSNumber

NSNumber 

Java代码    收藏代码
  1. + (NSNumber *)numberWithInt:(int)value;  
  2. + (NSNumber *)numberWithDouble:(double)value;  
  3. - (int)intValue;  
  4. - (double)doubleValue;  


NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等等。 
NSNumber * intNumber=[NSNumber numberWithInt:100]; 
NSNumber *floatNumber=[NSNUmber numberWithFloat:100.00]; 
int i=[intNumber intValue]; 
if([intNumber isEqualToNumber:floatNumber]) .... 
NSNumber继承NSObject ,可以使用比较 compare: isEqual等消息 


Java代码    收藏代码
  1. int main (int argc, constchar * argv[]) {  
  2.   
  3.     NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc] init];  
  4.   
  5.     NSNumber* intNumber;  
  6.   
  7.     NSNumber* floatNumber;  
  8.   
  9.   
  10.     intNumber = [NSNumbernumberWithInt:100];  
  11.   
  12.     floatNumber = [NSNumbernumberWithFloat:99.9];  
  13.   
  14.   
  15.     NSInteger myInt;  
  16.   
  17.     myInt = [intNumber integerValue];  
  18.   
  19.     NSLog(@"myInt = %li", myInt);  
  20.   
  21.   
  22.   
  23.     [pool drain];  
  24.   
  25.     return0;  
  26.   
  27. }  


一般来说,无需担心需要释放Foundation方法返回的对象。有时候,对象由返回它的方法所有。其他情况下,对象是由方法新创建的并被添加到自动释放池里。使用完由alloc方法显式创建的对象(包括Foundation对象)之后,需要释放它们。 

如上例中,无需对intNumber,floatNumber调用release释放内存。 

但如果采用intNumber = [NSNumber alloc] initWithInt:100]; 创建,在使用完后,需要使用[intNumber Release];来释放它。 

另外,NSInteger并不是一个类,使用使用typedeflong NSInteger;定义的。 

转载于:https://www.cnblogs.com/yulang314/p/3551452.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值