首页 > 代码库 > 黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate
黑马程序员_ Objective-c 之Foundation之NSNumber ,NSValue, NSDate
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" : num10 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 = http://www.mamicode.com/[NSValue valueWithPoint:p];>
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。