标签:
// 将整形包装成OC对象
NSNumber *num1 = [NSNumber numberWithInt:120];
// 将浮点形包装成OC对象
NSNumber *num2 = [NSNumber numberWithDouble:0.5];
// 把包装后的数据存放到OC数组中
NSArray *array = @[@"年龄",num1];
// 遍历数组
for (id obj in array)
{
NSLog(@"%@", obj);
}
// 将NSNumber类型的对象还原成基本数据类型 int age = [num1 intValue]; double a = [num2 doubleValue];
还可以 使用编译器特性快速包装一个基本数据:
// 快速包装 @120; @0.5; @NO; // 使用快速包装,再存放到数组中 NSArray *array2 = @[@"hello",@100, @YES, @0.3, @‘H‘];
二、NSValue
NSValue和NSNumber相似,具体来说前者是后者的父类。NSValue可以包装复杂的基本数据类型,如结构体,枚举。
int main()
{
// OC结构体
CGPoint point = CGPointMake(11, 12);
// 将结构体包装成OC对象
NSValue *val = [NSValue valueWithPoint:point];
// 将包装后的OC对象存放到OC数组
NSArray *array = @[val];
NSLog(@"%@", array);
return 0;
}
// 创建日期对象
NSDate *date = [NSDate date];
// 日期格式化类
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// y 年 M 月 d 日
// m 分 s 秒 H (24)时 h(12)时
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 固定写法,不能随便写
// 将日期格式化成字符串对象
NSString *str = [formatter stringFromDate:date];
NSLog(@"%@", str);
// 格式化的参数都有固定含意,不能随意写。上面是将日期格式化输出,下面再来将字符串中的日期
// 指定日期为
NSString *time = @"2022/05/01 13:30";
// 创建日期格式化对象
NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
// 格式化日期
formatter2.dateFormat = @"yyyy/MM/dd HH:mm";
NSDate *date2 = [formatter2 dateFromString:time];
NSLog(@"%@", date2);
OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)
标签:
原文地址:http://www.cnblogs.com/yzjxdz/p/4853126.html