标签:style blog http color io os ar 使用 for
Objective-c 之Foundation之NSNumber ,NSValue, NSDate
1、NSNumber具体用法如下:
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber。这是因为很多类(如NSArray)都要求使用对象,而int不是对象。
NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。
此外,还可以使用实例方法为先前分配的NSNumber对象设定指定的值,这些都是以initWith开头,比如initWithLong。
如:
创建和初始化类方法 | 初始化实例方法 | 取值实例方法 |
---|---|---|
numberWithChar: | initWithChar: | charValue |
numberWithShort: | initWithShort: | shortValue |
... | ... | ... |
1 void test() 2 { 3 NSNumber *num = [NSNumber numberWithInt:10]; 4 5 NSDictionary *dict = @{ 6 @"name" : @"jack", 7 8 9 @"age" : num 10 11 }; 12 13 NSNumber *num2 = dict[@"age"]; 14 15 16 int a = [num2 intValue]; 17 18 NSLog(@"%d" , a); 19 }
1 #import <Foundation/Foundation.h> 2 3 int main() 4 { 5 // @20 将 20包装成一个NSNumber对像 6 7 8 NSArray *array = @[ 9 10 @{@"name" : @"jack", @"age" : @20}, 11 12 @{@"name" : @"rose", @"age" : @25}, 13 14 @{@"name" : @"jim", @"age" : @27} 15 ]; 16 17 18 // 将各种基本数据类型包装成NSNumber对象 19 @10.5; 20 @YES; 21 @‘A‘; // NSNumber对象 22 23 @"A"; // NSString对象 24 25 26 27 // 将age变量包装成NSNumber对象 28 int age = 100; 29 @(age); 30 //[NSNumber numberWithInt:age]; 31 32 33 NSNumber *n = [NSNumber numberWithDouble:10.5]; 34 35 36 int d = [n doubleValue]; 37 38 39 40 int a = 20; 41 42 // @"20" 43 NSString *str = [NSString stringWithFormat:@"%d", a]; 44 NSLog(@"%d", [str intValue]); 45 46 return 0; 47 }
2、NSValue具体用法:
NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
1 #import <Foundation/Foundation.h> 2 3 4 int main() 5 { 6 7 // 结构体--->OC对象 8 9 CGPoint p = CGPointMake(10, 10); 10 // 将结构体转为Value对象 11 NSValue *value = [NSValue valueWithPoint:p]; 12 13 // 将value转为对应的结构体 14 // [value pointValue]; 15 16 NSArray *array = @[value ]; 17 18 19 20 21 return 0; 22 }
3、NSDate具体用法如下代码:
1 void use() 2 { 3 // 创建一个时间对象 4 NSDate *date = [NSDate date]; 5 // 打印出的时候是0时区的时间(北京-东8区) 6 NSLog(@"%@", date); 7 8 NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; 9 10 11 // 从1970开始走过的秒数 12 NSTimeInterval seconds = [date2 timeIntervalSince1970]; 13 14 // [date2 timeIntervalSinceNow]; 15 }
日期格式化:
1 void date2string() 2 { 3 NSDate *date = [NSDate date]; 4 5 6 // 日期格式化类 7 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 8 9 // y 年 M 月 d 日 10 // m 分 s 秒 H (24)时 h(12)时 11 formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; //HH /hh 24小时致/12小时制 12 13 NSString *str = [formatter stringFromDate:date]; 14 15 NSLog(@"%@", str); 16 }
1 void string2date() 2 { 3 // 09/10/2011 4 NSString *time = @"2011/09/10 18:56"; 5 6 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 7 formatter.dateFormat = @"yyyy/MM/dd HH:mm"; 8 9 NSDate *date = [formatter dateFromString:time]; 10 NSLog(@"%@", date); 11 return 0; 12 }
黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate
标签:style blog http color io os ar 使用 for
原文地址:http://www.cnblogs.com/yaochao/p/4033715.html