zoukankan      html  css  js  c++  java
  • 黑马程序员___Foundation__NSNumber/NSDate/NSValue

    NSNumber

    因为集合类中和NSString中是不能写入C基本数据类型的,所以可以利用NSNumber把基本数据类型包装成一个OC对象

    把一个基本数据类型转化成OC对象

    NSNumber *num = [NSNumber numberWithInt:10]

    把OC对象转化成10进制的基本数据类型

    int a = [num intValue]

    类似的还有其他的基本数据类型

       

     NSNumber *n = [NSNumber numberWithDouble:10.5];

        

        

     int d = [n doubleValue];

    快速包装一个基本数据类型

    @20

    int a = 10

    @q

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

    NSValue可以包装一些复杂的数据类型,比如结构体,枚举

    结构体--->OC对象

        

     CGPoint p = CGPointMake(10, 10);

        

    将结构体转为Value对象

     NSValue *value = [NSValue valueWithPoint:p];

     NSArray *array = @[value ];

        

    将value转为对应的结构体

      

    [value pointValue];

        

    NSDate

    创建一个时间对象

    NSDate *date = [NSDate date];

    创建一个比data晚5秒的时间对象

    NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];

    从1970开始走过的秒数

    NSTimeInterval seconds = [date2 timeIntervalSince1970]

    日期格式化类

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]

    设置时间格式

    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

    创建一个自定义时间格式的时间对象  

    NSString *time = @"2011/09/10 18:56"

    NSDate *date = [formatter dateFromString:time]

  • 相关阅读:
    python3 练习题 day04
    python3 装饰器
    python3 生成器和生成器表达式
    python3 列表/字典/集合推导式
    python3 迭代器
    python3 day04 大纲
    ES6 的数值扩展
    ES6中的解构赋值
    ES6中 let与const 的区别
    react的基本配置安装及使用babel
  • 原文地址:https://www.cnblogs.com/jia694600474/p/4012799.html
Copyright © 2011-2022 走看看