数组如果要存储基本数据类型, 要将基本数据类型转成对象。那么就可以采用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 = ;
float myFloat = ;
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[] intValue];
float useFloat = [arr[] floatValue];
char useChar = [arr[] charValue];
// 使用
NSLog(@"int = %d, float = %f, char = %c", useInt, useFloat, useChar);
}
return ;
}
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 = @[@, @, @'C'];
NSLog(@"%@", arr);
// 转回
int useInt = [arr[] intValue];
float useFloat = [arr[] floatValue];
char useChar = [arr[] charValue];
// 使用
NSLog(@"int = %d, float = %f, char = %c", useInt, useFloat, useChar);
}
return ;
}