首页 > 代码库 > 03-NSNumber、NSValue、NSDate
03-NSNumber、NSValue、NSDate
1.NSNumber
由于OC的集合只能存放OC对象,不能存放基本数据类型
以int类型为例:
NSNumber *num = [NSNumber numberWithInt:22]; NSDictionary *dict = @{ @"name" : @"whb", @"age" : num }; NSNumber *num1 = dict[@"age"]; // 转换成int类型 int a = [num1 intValue];
编译器特性:
将各种基本数据类型包装成NSNumber对象 @10.5; @YES; @‘A‘; // NSNumber对象 @"A"; // NSString对象 将age变量包装成NSNumber对象 int age = 10; @(age); // 这一句相当于 [NSNumber numberWithInt:age]; @20 将 20包装成一个NSNumber对像 NSArray *array = @[ @{@"name" : @"jack", @"age" : @20}, @{@"name" : @"rose", @"age" : @25}, @{@"name" : @"jim", @"age" : @27} ];
2.NSValue
// 结构体--->OC对象 CGPoint p = CGPointMake(10, 10); // 将结构体转为Value对象 NSValue *value =http://www.mamicode.com/ [NSValue valueWithPoint:p]; // 将value转为对应的结构体 // [value pointValue]; NSArray *array = @[value ];
3.NSDate
一般用法:
// 创建一个时间对象 NSDate *date = [NSDate date]; // 打印出的时候是0时区的时间(北京-东8区) NSLog(@"%@", date); NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; // 从1970开始走过的秒数 NSTimeInterval seconds = [date2 timeIntervalSince1970]; // [date2 timeIntervalSinceNow];
NSDate转换为NSString类型
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转换为NSDate
// 09/10/2013 NSString *time = @"2014/09/10 16:01"; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy/MM/dd HH:mm"; NSDate *date = [formatter dateFromString:time];
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。