黑马程序员——Foundation学习—-----NSDate、NSValue、NSNumber使用

来源:互联网 发布:linux升级python2.7 编辑:程序博客网 时间:2024/05/17 03:03

一。创建NSDate

1.最常用的NSDate对象获取方式:

//获取日期格式对象

- (NSDateFormatter *)dateFormatter {

if (dateFormatter == nil) {//判断对象是否存在

dateFormatter = [[NSDateFormatter allocinit]; //不存在,则生成一个对象出来

[dateFormatter setDateStyle:NSDateFormatterMediumStyle];  //设置dateStyle属性值

[dateFormatter setTimeStyle:NSDateFormatterNoStyle]; //设置TimeStyle属性值

}

return dateFormatter;

}


#import <Foundation/Foundation.h>int main(){    // 09/10/2011    NSString *time = @"2011/09/10 18:56";//创建时间字符串对象
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//创建日期格式对象    formatter.dateFormat = @"yyyy/MM/dd HH:mm"; //设置年、月、日的时日期属性        NSDate *date = [formatter dateFromString:time]; //将时间NSString类型的字符串对象进行格式化为NSDate对象    NSLog(@"%@", date); //打印输出    return 0;}void date2string(){    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]; //将NSDate对象转换成NSString类型对象        NSLog(@"%@", str); //打印输出字符串}void use(){    // 创建一个时间对象    NSDate *date = [NSDate date];    // 打印出的时候是0时区的时间(北京-东8区)    NSLog(@"%@", date);        NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];//创建一个时间对象            // 从1970开始走过的秒数    NSTimeInterval seconds = [date2 timeIntervalSince1970];        // [date2 timeIntervalSinceNow];}</span>

二:NSValue

// 结构体--->OC对象

    CGPoint p =CGPointMake(10,10);

    // 将结构体转为Value对象

    NSValue *value = [NSValuevalueWithPoint:p];

    

    // value转为对应的结构体

    // [value pointValue];

    

    NSArray *array =@[value];


三:NSNumber

1.1 NSNumber的作用:由于集合类型只能存放OC类型数据,无法存放int类型数据。当在开发中需要int类型的数据时,可以将int类型包装成NSNumber对象再存放。

1.2 NSNumber和int的转换

  

    NSArray *array = @[        @{@"name" : @"jack", @"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]; 

    1.3 NSNumber和double的转换
     NSNumber *n = [NSNumber numberWithDouble:10.5];
     int d = [n doubleValue];


    1.4 NSString和int的转换

     NSString *str = [NSString stringWithFormat:@"%d",20];//int转NSString
     NSLog(@"%d",[str intValue]);  // NSString转int


    1.5 快速将其它转换成NSNumber对象

          @20 //将20包装成一个NSNumber对象

          @10.5 

          @YES

          @‘A’ // NSNumber对象

          @“A” // NSString对象

         *将int变量包装成NSNumber对象

         int age = 100;

         @(age);


0 0
原创粉丝点击