数组如果要存储基本数据类型, 要将基本数据类型转成对象。那么就可以采用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;
}