黑马程序员__NSNumber和NSDate的使用

------- IOS培训android培训、期待与您交流! --------

        由于OC集合中不能存放普通数据类型,所以如果集合中想要存放普通数据类型的值,那么就需要把普通数据类型转换成OC对象类型的数据来进行存放。这时候我们就需要用到了NSNumber,

NSNumber可以将任何基本的数据类型装换成对象通过如下的方法

NSNumber * num = [NSNumber NumberWithInt:10];

NSNumber可以转换的数据类型有Int ,double,float,char,Bool,long,long long也可以将对象类型转换成基本数据类型

[num IntValue];就可以将num对象的类型转换成int类型.

对于基本数据类型可以快速包装成对象类型,通过如下方式,如包装int类型@24,包装double类型 @5.8,包装成字符类型@‘a’等等。

对于基本类型的变量也是可以包装的,如通过下面的方式

int a =10;
NSNumber * num = @(age);
对于变量名必须用小括号括起来,表示取其中的值然后再进行包装。

对于非基本类型的数据NSNumber不能进行包装,必须通过NSValue来进行包装,NSNumber之所以能进行包装,也是因为它集成了NSValue。

使用NSValue来包装NSPoint等通过如下的函数

    NSValue * value = [NSValue valueWithPoint:NSMakePoint(12, 21)];

也可以将结Value对象变回结构体

[value PointValue];


NSDate的使用

NSDate的创建通过如下的方式

NSDate * date = [NSDate date];

这样创建的时间是执行当前代码的时间,默认是0时区的时间。

可以通过方法创建一个比当前时间晚若干秒的一个时间,如下:

   NSDate *date = [NSDate date];

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


在手机上显示时间,经常需要将NSDate类型的对象转换成字符串,可以通过如下的方式进行转换

要将时间转成字符串,首先要为时间类型的字符串设置一个格式,这个时候就要使用formater函数


     NSDate *date = [NSDate date];
    NSDateFormatter *fomatter = [[NSDateFormatter alloc] init];
    fomatter.dateFormat = @"yyyy-MM-dd HH-mm-ss";
    NSString * str = [fomatter stringFromDate:date];

也可以将字符串类型的时间转换成一个NSDate对象

    NSString * timer =@"2009-12-08 12:21";
    NSDateFormatter * formateer = [[NSDateFormatter alloc] init];
    formateer.dateFormat = @"yyyy-MM-dd HH-mm";
    NSDate * date = [formateer dateFromString:timer];








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值