zoukankan      html  css  js  c++  java
  • 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;定义的。 

  • 相关阅读:
    Method总结
    使用CSS的五种方式
    debug js code
    Overload
    fiddler模拟弱网测试
    POJ 1753 Flip Game (IDA*)
    UVA 11400 Lighting System Design(照明系统设计)(dp)
    UVA 12563 Jin Ge Jin Qu hao(劲歌金曲)(01背包+滚动数组)
    UVA 116 Unidirectional TSP (单向TSP)(dp多段图的最短路)
    UVA 1151 Buy or Build (买还是建)(并查集+二进制枚举子集)
  • 原文地址:https://www.cnblogs.com/yulang314/p/3551452.html
Copyright © 2011-2022 走看看