iOS笔记—NSNumber

数组如果要存储基本数据类型, 要将基本数据类型转成对象。那么就可以采用NSNumber将其转化成对象保存。

//
//  main.m
//
//
//  Created by hhg on 15-6-18.
//  Copyright (c) 2015年 hhg. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {

        // 数组如果要存储基本数据类型, 要将基本数据类型转成对象:
        int     myInt   = 234234;
        float   myFloat = 3.4343;
        char    myChar  = 'H';

        // 转
        NSNumber *numInt    = [NSNumber numberWithInt:myInt];
        NSNumber *numFloat  = [NSNumber numberWithFloat:myFloat];
        NSNumber *numChar   = [NSNumber numberWithChar:myChar];


        // 存
        NSArray *arr = @[numInt, numFloat, numChar];
        NSLog(@"%@", arr);

        // 转回
        int     useInt   = [arr[0] intValue];
        float   useFloat = [arr[1] floatValue];
        char    useChar  = [arr[2] charValue];


        // 使用
        NSLog(@"int = %d, float = %f, char = %c", useInt, useFloat, useChar);
    }
    return 0;
}

NSNumber也可以使用快速写法,即在基本类型前面加个@就变成NSNumber类型。

//
//  main.m
//
//
//  Created by hhg on 15-6-18.
//  Copyright (c) 2015年 hhg. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {


        // 存
        NSArray *arr = @[@123, @1231.3, @'C'];
        NSLog(@"%@", arr);

        // 转回
        int     useInt   = [arr[0] intValue];
        float   useFloat = [arr[1] floatValue];
        char    useChar  = [arr[2] charValue];


        // 使用
        NSLog(@"int = %d, float = %f, char = %c", useInt, useFloat, useChar);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/csdn_hhg/article/details/80494758
今日推荐