一、把基本数据类型包装成NSNumber对象
各种基本数据类型的数据都可以包装成NSNumber对象
[NSNumber numberWithInt:10];// int
[NSNumber numberWithChar:'a'];// char
[NSNumber numberWithBool:YES];// BOOL
[NSNumber numberWithDouble:2.5];//double
[NSNumber numberWithFloat:3.5f];// float
[NSNumber numberWithLong:98.5];// long
二、使用编译器特性快速包装基本数据类型
编译器特性:可以使用@快递把基本数据类型转换成NSNumber类型
比如:
@20; // 把int类型转换成NSNumber类型的对象
@10.5f; // 把float类型转换成NSNumber类型的对象
@8,75; // 把double类型转换成NSNumber类型的对象
@YES; // 把BOOL类型转换成NSNumber类型的对象
@'A'; // 把cahr类型转换成NSNumber类型的对象
@"abc"; // 注意区分:这个是NSString类型的对象
// 快速创建
NSArray *array = @[
@{@"name" : @"Jack", @"age" : @20},
@{@"name" : @"Julia", @"age" : @18},
@{@"name" : @"Rose", @"age" : @19},
];
如果使用变量,要使用小括号把变量名括起来(否则会被误当成关键字)
比如:
int age = 20;
NSNumber *num3 = @(age);
三、把NSNumber对象还原成基本数据类型
可以把NSNumber对象转换成各种的基本数据类型
[num3 boolValue];
[num3 charValue];
[num3 intValue];
[num3 shortValue];
[num3 longValue];
[num3 unsignedIntValue];
[num3 unsignedLongValue];
[num3 floatValue];
[num3 doubleValue];
四、字符串转换成基本数据类型
字符串其实也有类似的方法:
NSString *str = [NSString stringWithFormat:@"%d",10];
int a1 = [str intValue];
NSString *str1 = @"3.5";
double d = [str1 doubleValue];
// 转换使用
NSNumber *num1 = [NSNumber numberWithInt:10];//定义一个OC的基本数据类型
NSDictionary *dict = @{@"name" : @"Jack", @"age" : num1};//使用num1 赋值
NSNumber *num2 = dict[@"age"];// 使用关键字取出对应的值
int a = [num2 intValue];//将OC的数据类型转换成C基本数据类型
NSLog(@"%d",a);// 访问
|