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;定义的。 

  • 相关阅读:
    出版文字作品报酬规定(收藏)
    关于Delphi7 的XML说明
    我做的XML验证的测试记录
    印刷常用名词
    验证XLM数据合法性(收藏)
    关于.Net操作XML相关类
    我的性格
    webpack学习笔记一
    汇编语言内存变量的地址
    Linux 汇编语言(GNU GAS汇编)开发指南
  • 原文地址:https://www.cnblogs.com/yulang314/p/3551452.html
Copyright © 2011-2022 走看看