OC-NSnumber和NSvalueNSNULL以及集合数组优化写法

    //数字对象的常用方法处理  NSnumber作用就是把基本数据封装成对象 好让存储容器 能存储这些对象
    
    float p = 3.14;
    
    //准换成基本包装对象
    [[NSNumber numberWithFloat:p] floatValue];
    //封装整数
    [[NSNumber numberWithInt:1] intValue];
    //封装Long数据
    [[NSNumber numberWithLong:12] intValue];
    //封装布尔 转换成基本数据类型
    [[NSNumber numberWithLong:YES] boolValue];
    //封装小数 转成基本数据类型
    [[NSNumber numberWithDouble:3.11] doubleValue];
    
    
    //NSValue可以包装任意类型(结构体,指正等等);
    NSSize size = {100,100};

    NSValue *values = [NSValue value:&size withObjCType:@encode(NSSize)];
    
    NSSize newSize;
    [values getValue:&newSize];
    
    //打印结构体函数 还有其他的 例如Range等
    NSStringFromSize(newSize);
    
    //NIL不能存放数组字典 如果想存放NIL值可以使用NSNULL代替 创建对象就是个NULL;
    NSArray *arr = [NSArray arrayWithObjects:[[NSNull alloc] init], nil];
    NSLog(@"%@,arr",arr);
    
    
    //集合,数字对象新的写法
    
    NSArray *array = @[@"张三",@14,@15,@3.14,@YES];
    //可以通过下标获取数据
    id obj = array[0];
    //可变数组
    NSMutableArray *example = @[@"张三",@"李四"];
    //字典写法
    NSDictionary *dic = @{@"张三":@0,@"李四":@1};
    //获取数据
    NSLog(@"%@",dic[@"张三"]);
    //这些创建的数组 集合 会自动加入自动释放 无需管理
    
    //基本数据类型初始化
    
    NSNumber *intnum = @123;
    NSNumber *floas = @3.14;
    NSNumber *idoub = @1.33;
    NSNumber *bbool = @YES;
    NSNumber *jj = @22;
    int jjs = 33;
    NSNumber *result = @(12+jjs); //可以这样相加

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章