黑马程序员---Foundation常用类(NSNumber、NSValue、NSDate)
2014-10-23 17:36
351 查看
———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
因为OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等,但有时候我们需要存放基本数据类型,比如在一个字典类中存放一个人的年龄信息:NSArray
*array = @[@{"name" : @"jack",@"age": @"20"}];,但是这样写肯定是不对的,因为20是int型,是基本数据类型,是不能存放在OC对象中的,所以这个时候我们就用到了NSNumber这个类
把基本数据类型包装成NSNumber型的对象
NSNumber *num = [NSNumber numberWithInt:10]; //把一个int类型的数据转成NSNumber对象
所以此时的num就是一个对象,也就可以放在下面的字典中了
NSNumber *num2 = dict[@"age"]; // 相当于[dict objectForKey:(id)];返回的是id类型,即OC对象
那如果要转成基本数据类型的话就是:
int a =[num2 intValue]; //此时的a就是10
把小数转为NSNumber对象:
NSNumber *n = [NSNumber numberWithDouble:10.5];
int d = [n doubleValue]; // 把NSNumber对象转成小数
把字符串转成基本数据类型:
NSLog(@"%d",[@"209" intValue]); //打印结果:209
将各种基本数据类型包装成NSNumber对象
@10.5;小数
@YES; 布尔类型
@'A';// NSNumber对象
@"A";
// NSString对象
将age变量包装成NSNumber对象
int age = 100;
@(age);
// 注意要把变量用小括号括起来
[NSNumber numberWithInt:age];
NSValue
NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
结构体--->OC对象
CGPoint p = CGPointMake(10,10);
将结构体转为Value对象
NSValue *value = [NSValue valueWithPoint:p];
将value转为对应的结构体
[value pointValue];
NSArray *array = @[value];
NSDate
创建一个时间对象
NSDate *date = [NSDate date];
日期格式化类
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// y 年 M月 d
日
// m 分 s秒 H
(24)时 h(12)时
因为OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等,但有时候我们需要存放基本数据类型,比如在一个字典类中存放一个人的年龄信息:NSArray
*array = @[@{"name" : @"jack",@"age": @"20"}];,但是这样写肯定是不对的,因为20是int型,是基本数据类型,是不能存放在OC对象中的,所以这个时候我们就用到了NSNumber这个类
把基本数据类型包装成NSNumber型的对象
NSNumber *num = [NSNumber numberWithInt:10]; //把一个int类型的数据转成NSNumber对象
所以此时的num就是一个对象,也就可以放在下面的字典中了
NSDictionary *dict = @{ @"name" : @"jack", @"age" : num // 此时的number就是代表10 };如果要取出的话,那他还是NSNumber类,并不是基本数据类型int
NSNumber *num2 = dict[@"age"]; // 相当于[dict objectForKey:(id)];返回的是id类型,即OC对象
那如果要转成基本数据类型的话就是:
int a =[num2 intValue]; //此时的a就是10
把小数转为NSNumber对象:
NSNumber *n = [NSNumber numberWithDouble:10.5];
int d = [n doubleValue]; // 把NSNumber对象转成小数
把字符串转成基本数据类型:
NSLog(@"%d",[@"209" intValue]); //打印结果:209
NSArray *array = @[ //表示字典中有四个人的信息 @{@"name" : @"jack", @"age" : @20}, // 每次都要写[NSNumber numberWithInt:age] 很麻烦,编译器特性,可以直接写@20 @{@"name" : @"rose", @"age" : @25}, @{@"name" : @"jim", @"age" : @27} ];
将各种基本数据类型包装成NSNumber对象
@10.5;小数
@YES; 布尔类型
@'A';// NSNumber对象
@"A";
// NSString对象
将age变量包装成NSNumber对象
int age = 100;
@(age);
// 注意要把变量用小括号括起来
[NSNumber numberWithInt:age];
NSValue
NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
结构体--->OC对象
CGPoint p = CGPointMake(10,10);
将结构体转为Value对象
NSValue *value = [NSValue valueWithPoint:p];
将value转为对应的结构体
[value pointValue];
NSArray *array = @[value];
NSDate
创建一个时间对象
NSDate *date = [NSDate date]; // 打印出的时候是0时区的时间(北京-东8区) NSLog(@"%@", date); NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date] NSTimeInterval seconds = [date2 timeIntervalSince1970];// 从1970开始走过的秒数 // [date2 timeIntervalSinceNow];
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);
相关文章推荐
- 黑马程序员--ios基础--oc-foundation--NSSet、NSDictionary、NSNumber、NSValue、NSDate
- 黑马程序员--Foundation框架之--类其他常用的类:NSNumber,NSDate
- 黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 黑马程序员_Foundation学习之NSSet、NSDictionary、NSNumber、NSValue、NSDate
- OC——Foundation—常用的类(4)——NSNumber、NSValue、NSNull、NSDate
- 黑马程序员-OC学习笔记-----Foundation框架(集合、NSNumber、NSDate)
- ——黑马程序员——OC中NSNumber、NSValue、NSDate 的使用总结
- Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver
- Objective-C之Foundation框架NSNumber、NSNull、NSValue、NSDate用法介绍
- 黑马程序员——Foundation框架入门:NSNumber,NSValue和NSDate
- 黑马程序员--OC自学笔记---10Foundation、NSFileManager、iOS沙盒、OC结构体、NSNumber、NSValue、NSDate、copy、单例模式
- 黑马程序员—Foundation框架之NSFileManager、NSNumber与NSDate
- 黑马程序员_Foundation_NSSet,NSDictionary,NSValue,NSDate,NSNumber
- 黑马程序员-13-Foundation(NSNumber,NSDate,NSValue)
- OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 黑马程序员 oc随记 NSNumber、NSValue与NSDate
- Foundation框架NSNumber、NSValue和NSDate
- Foundation框架下的常用类(NSNumber, NSValue, NSDate,NSDateFormatter)
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)