Foundation---NSNumber : NSValue NSDate

 

/*

 NSNumber  包装  最基本的数据类型 NSNumber对象

 NSValue   包装   任何东西(例如:结构体)   NSValue对象

 

 NSNumber : NSValue

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

 

 */

 

// NSString对象转为NSDate对象

void string2Date()

{

    NSString *timeStr = @"03--13-/2013 13+3-6";

    // 创建日期格式化对象

    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];

    fmt.dateFormat = @"MM==dd++y HH+m-ss";      // 点语法  调用NSDateFormatter对象fmt setDateFormat:方法

    NSDate *date = [fmt dateFromString:timeStr];

    NSLog(@"%@", date);   //  输出结果  2013-03-13 05:03:06 +0000   无论设置格式时用什么分隔符  结果都是- :

  

 

}

 

// NSDate对象转为NSString对象

void date2String()

{

    // 创建一个时间NSDate对象

    NSDate *date = [NSDate date];

    // NSTimeInterval 就是 double    返回 1970到时间date  间隔的 秒数

    // NSTimeInterval seconds = [date timeIntervalSince1970];

    

    // 日期格式化类 NSDateFormatter

    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];

    // 必须设置转化日期的 格式 fmt.dateFormat   否则 转化为

    // y   M   d

    // Hh 时(2412    m     s

    // 下面代码实际上是 调用fmt对象的 setDateFormat:方法    点语法

    fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";   // 格式化 时间显示 格式

    NSLog(@"%@", [fmt dateFormat]);

    NSString *dateStr = [fmt stringFromDate:date];

    NSLog(@"%@", date);

    NSLog(@"%@", dateStr);

 

}

 

void baseUseNSNumber()

{

 

    // 利用NSNumber 基本数据类型 包装为  对象

    

    NSNumber *num = [NSNumber numberWithDouble:13.313];

    

    

    // @x  把基本数据类型x包装为NSNumber对象

    // 编译器特性  @25.3 25.3包装为NSNumber对象    @x  x包装为NSNumber对象

    NSNumber *num2 = @25.3;   // 编译器会自动把 @25.3 转化为 [NSNumber numberWithDouble:25.3]

    

    NSLog(@"%@", num2);

    

    NSLog(@"%@", @'B');

    

    int age = 255;    // 把基本数据类型的变量包装为NSNumber对象   @(变量名 @(age)

    

    NSLog(@"%@", @(age));

}

posted on 2015-04-08 09:54  我是一匹小黑马  阅读(105)  评论(0编辑  收藏  举报