NSNumber 数值

// NSNumber

        // 只能保存对象类型的数据,无法保存基本类型数据
        // 如果想要保存基本类型数据,需要将基本数据类型转换为对象类型,使用NSNumber 或者NSValue类

        NSString *name = @"神器大爆哥";
        char gender = 'f';
        int age = 18;
        BOOL b = YES;
        float score = 98.8;

        // 将非对象类型转换为对象类型

        // 初始化方法
        NSNumber *genderNumber = [[NSNumber alloc] initWithChar:gender];

        // 便利构造器
        NSNumber *genderNumber2 = [NSNumber numberWithChar:gender];
        // 字面量
        NSNumber *ageNumber = @(age);
        NSNumber *scoreNumber = @(score);
        NSNumber *boolNumber = @(b);



        // 存入可变数组

        NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:name, genderNumber, ageNumber, boolNumber, scoreNumber, nil];
        NSLog(@"%@", mutableArray);


        // 取出年龄

        NSNumber *ageNumber1 = mutableArray[2];
        int age3 = [ageNumber1 intValue];    // 想要转什么类型直接发送消息
        age3 += 1;



        // NSNumber 无法包装结构体变量。需要使用NSValue类的类方法
        NSRange range = NSMakeRange(10, 20);

        NSValue *rangeObject = [NSValue valueWithRange:range];

        NSLog(@"%@", rangeObject);

        NSRange range2 = [rangeObject rangeValue];
        NSUInteger a = range2.length;

你可能感兴趣的:(nsnumber)