首页 > 代码库 > Foundation-07_其他_NSNumber_NSValue_NSDate

Foundation-07_其他_NSNumber_NSValue_NSDate

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 =http://www.mamicode.com/ [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];

Foundation-07_其他_NSNumber_NSValue_NSDate