一.NSNumber
1.把基本数据类型转变成对象
NSNumber是个对象,它可以把基本数据类型包装成NSNumber对象:NSNumber *num = [NSNumber numberWithInt:10](把整型10包装成NSNumber,这样就可以放在OC数组,集合和字典里)
2.把NSNumber对象转变成相应的基本数据类型
把NSNumber转变成int型:[num2 intValue]。
3.最常用最简单的把基本数据类型变量转变成NSNumber对象
(1)@基本数据类型值:@后面直接跟基本数据类的值就可以把基本数据类型转变成NSNumber对象
(2)@(基本数据类型变量):@后面也可以跟基本数据类型变量,但是必须把变量用()括起来
4.也可以把基本数据类型转转变成NSString对象,然后还可以用对象方法转变成基本数据类型
NSString *str = [NSString stringWithFormat:@"%d", 20]; // @"20"
NSLog(@"%d", [str intValue]); // @"20"转变成20
二.NSDate
1.创建时间对象
NSDate *date = [NSDate date];//创建时间对象
NSLog(@"%@", date); // 打印出的是0时区的时间(北京属于东8区)
2.创建一个时间对象和某一个时间对象多多少秒:[NSDate dateWithTimeInterval:5 sinceDate:NSDate对象]
3.从1970开始走过的秒数:NSTimeInterval seconds = [NSDate对象 timeIntervalSince1970];
4.日期的格式化
(1)日期对象格式化后字符输出
// 日期格式化类
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]; //把NSDate对象按照这个格式转变成字符对象
NSLog(@"%@", str); //输出这种格式的字符表现
(2)字符对象格式化后日期对象输出
NSString *time = @"2011/09/10 18:56";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy/MM/dd HH:mm";
NSDate *date = [formatter dateFromString:time];
NSLog(@"%@", date);
三.NSValue
1.NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue。NSValue可以包装结构体,枚举等非基本类型。
2.将结构体包装成NSValue对象
NSValue *value = [NSValue valueWithPoint:结构体变量];
3.将NSValue对象再转变回结构体
[value pointValue];
@[结构体变量]:@中括号,里面加上结构体变量