NSNumber
数字类型不能存入集合和字典,需要转换成对象。
使用NSNumber(以int类型为例,还有其他很多类型的方法,用法参考下面的代码)
//将整数转换成对象
NSNumber *num = [NSNumber numberWithInt:10];
//将num加入到字典中
NSDictionary *dict = @{
@"name":@"jack",
@"age":num
};
//取出的值也是对象
NSNumber *num2 = dict[@"age"];
//将对象转换成对应的整数
int a = [num2 intValue];
上面一句代码可以看出:数字型的字符串转换成整数的方法可以使用:
[@"1234",intValue];
将基本数据类型转换成对象NSNumber,
NSValue:
NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
//结构体---》OC对象
CGPoint p = CGPointMake(10, 10);
//将结构体转换成Value对象
NSValue *value = [NSValue valueWithPoint:p];
//将value转换成对应的结构体
[value pointValue];
NSDate:时间
//创建一个时间对象(执行这句代码的时候的时间,0时区时间,相差8小时)
NSDate *date1 = [NSDate date];
//date2比date1晚5秒钟
NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date1];
//从1970年开始到date2过了多少秒
NSTimeInterval seconds = [date2 timeIntervalSince1970];
//日期格式化类NSDateFormatter
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//设置日期转换格式
formatter.dateFormat = @"yyyy/MM/dd HH:mm:ss";
//将日期转换成字符串
NSString *str = [formatter stringFromDate:date1];
//从字符串转换成时间
NSString *time = @"2011/09/10 18:56";
formatter.dateFormat = @"yyyy-MM-dd HH:mm";
NSDate *date3 = [formatter dateFromString:time];