您的位置:首页 > 产品设计 > UI/UE

黑马程序员---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就是一个对象,也就可以放在下面的字典中了
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐