zoukankan      html  css  js  c++  java
  • 03-NSNumber、NSValue、NSDate

    1.NSNumber

    由于OC的集合只能存放OC对象,不能存放基本数据类型

    int类型为例:

    NSNumber *num = [NSNumber numberWithInt:22];
    
    NSDictionary *dict = @{
                           @"name" : @"whb",
                           @"age" : num
                           };
    NSNumber *num1 = dict[@"age"];
    // 转换成int类型
    int a = [num1 intValue];

    编译器特性:

          将各种基本数据类型包装成NSNumber对象
    @10.5;
    @YES;
    @'A'; // NSNumber对象 
    @"A"; // NSString对象
    
    将age变量包装成NSNumber对象
    int age = 10;
    @(age);       // 这一句相当于 [NSNumber numberWithInt:age];
     @20  将 20包装成一个NSNumber对像
    NSArray *array = @[
                       @{@"name" : @"jack", @"age" : @20},
                       @{@"name" : @"rose", @"age" : @25},
                       @{@"name" : @"jim", @"age" : @27}
                       ];
     

    2.NSValue

    // 结构体--->OC对象
    CGPoint p = CGPointMake(10, 10);
    
    // 将结构体转为Value对象
    NSValue *value = [NSValue valueWithPoint:p];
    
    // 将value转为对应的结构体
    // [value pointValue];
    NSArray *array = @[value ];

    3.NSDate

    一般用法:

    // 创建一个时间对象
        NSDate *date = [NSDate date];
        // 打印出的时候是0时区的时间(北京-东8区)
        NSLog(@"%@", date);
        
        NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];
        
        // 从1970开始走过的秒数
        NSTimeInterval seconds = [date2 timeIntervalSince1970];   
        // [date2 timeIntervalSinceNow];

    NSDate转换为NSString类型

    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];
        NSLog(@"%@", str);

    NSString转换为NSDate

      // 09/10/2013
        NSString *time = @"2014/09/10 16:01";
        
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        formatter.dateFormat = @"yyyy/MM/dd HH:mm";
        
        NSDate *date = [formatter dateFromString:time];
  • 相关阅读:
    【兼容性】IE不支持日期字符串转换为日期对象
    tinydate.js[v0.2] 优化了调用方式
    tinydate.js[v0.1]关于Javascript Date的工具
    【兼容性】IE10不支持参数默认值即可选参数
    【兼容性】IE10不支持lamda表达式
    创建第一个core项目(netCore学习笔记1)
    .net(C#)在Access数据库中执行sql脚本
    (Lesson2)根据类名称和属性获得元素-JavaScript面向对象
    UWP Tiles
    UWP Ad
  • 原文地址:https://www.cnblogs.com/lszwhb/p/3730211.html
Copyright © 2011-2022 走看看