首页 > 代码库 > 黑马程序员___Foundation__NSNumber/NSDate/NSValue

黑马程序员___Foundation__NSNumber/NSDate/NSValue

NSNumber

 

因为集合类中和NSString中是不能写入C基本数据类型的,所以可以利用NSNumber把基本数据类型包装成一个OC对象

 

把一个基本数据类型转化成OC对象

NSNumber *num = [NSNumber numberWithInt:10]

 

把OC对象转化成10进制的基本数据类型

 

int a = [num intValue]

 

类似的还有其他的基本数据类型

   

 NSNumber *n = [NSNumber numberWithDouble:10.5];

    

    

 int d = [n doubleValue];

 

快速包装一个基本数据类型

 

@20

 

int a = 10

@q

 

NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue

 

NSValue可以包装一些复杂的数据类型,比如结构体,枚举

 

结构体--->OC对象

    

 CGPoint p = CGPointMake(10, 10);

    

将结构体转为Value对象

 

 NSValue *value = http://www.mamicode.com/[NSValue valueWithPoint:p];

 NSArray *array = @[value ];

    

将value转为对应的结构体

  

[value pointValue];

    

 

NSDate

 

创建一个时间对象

 

NSDate *date = [NSDate date];

 

创建一个比data晚5秒的时间对象

NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];

 

从1970开始走过的秒数

NSTimeInterval seconds = [date2 timeIntervalSince1970]

 

日期格式化类

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]

 

设置时间格式

formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

 

创建一个自定义时间格式的时间对象  

NSString *time = @"2011/09/10 18:56"

NSDate *date = [formatter dateFromString:time]

 

黑马程序员___Foundation__NSNumber/NSDate/NSValue