黑马程序员_Foundation框架04_NSNumber、NSValue、NSDate

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------


一、NSNumber

1、概念

包装基本数据类型,使其能放进集合中

2、使用方法

1>类方法创建

NSNumber *num = [NSNumber numberWithInit:10];
NSDictionary *dict = @{@"name" : @"Demon", @"Age" : num};

2>转换成基本数据类型方法(数据类型Value)

NSNumber *num2 = dict[age];
int a = [num2 intValue]; // 取出int类型值

3>加上字符串一起转换
int a = 20;
NSString *str = [NSString stringWithFomat:@"%d", a]; // 基转字符串
[str intValue]; // 转回来

4>快速创建(编译器特性)直接@后面跟数字即可

NSDictionary *dict = @{@"name" : @"Demon", @"Age" : @20};

5>快速包装变量

int age =25;NSNumber *num2 = @(age); // 一定注意小括号


二、NSValue

1、概念

NSValue是NSNumber的父类,比其更全面,NSNumber只能包装数字

2、使用方法

1>包装结构体

CGPoint p = CGPointMake(10, 10);
NSValue *value = [NSValue valueWithPoint:p];

2>将value转为结构体
[value pointValue];


三、NSDate

1、概念

表示时间的类

2、使用方法

1>创建

NSDate *date = [NSDate date]; // 时间为执行这行代码的时间,打印的是格林威治时间

NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; //从date往后数5秒,注意是秒不是毫秒

//timeInterval其实是double

[date2 timeIntervalSince1970]; // 从1970年0时开始走过的秒数

[date2 timeIntervalSinceNow]; // 左边时间距离代码调用时间隔了多少秒

2>要显示在屏幕上先转为字符串

NSDate *date = [NSDate date];

NSDateFormatter *fomatter = [[NSDateFormatter alloc] init]; // 先借助日期格式化类,格式化

fomatter.dateFomat = @"yyyy-MM-dd HH-mm-ss"; // 大写M表示月,小写m表示分钟,大写H表示24小时制,小写是12小时制

NSString *str = [formatter stringFromDate:date];

3>由字符串解析成时间
NSString *time = @"2014/04/12 3:51"; // 定义一个字符串表示显示的时间

NSDateFormatter *fomatter = [[NSDateFormatter alloc] init]; // 初始化一个格式化类

fomatter.dateFomat = @"yyyy/MM/dd HH:mm"; // 根据日期设置格式化类
 
NSDate *date = [fomatter dateFromString]; // 转换为时间





---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值