pragma mark NSNumber
pragma mark 概念
/**
1.将基本数据类型 转换成 对象类型
numberWithInt:
numberWithDouble:
......
2. 将 对象类型 转换成 基本数据类型
intValue
doubleValue
....
3. 基本数据类型 转成 对象类型简写
NSNumber *ageN1 = @(age);
*/
pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark main函数
int main(int argc, const char * argv[])
{
#pragma NSNumber
// 将一个基本数据类型放到 数组中
#warning 1.需要 将基本数据类型 转换成 对象类型
int age = 10;
double number = 5.20;
int vlaue = 5;
//
NSNumber *ageN = [NSNumber numberWithInt:age];
NSNumber*nbmN = [NSNumber numberWithDouble:number];
NSNumber *vlaueN = [NSNumber numberWithInt:vlaue];
NSArray *arr = @[ageN,nbmN,vlaueN];
NSLog(@"arr = %@",arr);
#warning 2. 将 对象类型 转换成 基本数据类型
// [arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
// NSLog(@"obj[%lu] = %@",idx,obj);
// }];
int temp = [ageN intValue];
NSLog(@"temp %d",temp);
double temp2 = [nbmN doubleValue];
NSLog(@"temp2 %.2f",temp2);
#warning 3. 基本数据类型 转成 对象类型简写
// 注意: 如果传入的是变量 那么必须在 @ 后面写上(),如果传入的常量, 那么@后面的()可以省略
NSNumber *ageN1 = @(age);
// NSNumber *nmbN1 = @number; // 变量 必须加()
NSNumber *nmbN1 = @10; // 常量 可以省略 ()
NSLog(@"ageN1 %@",ageN1);
return 0;
}