OC--NSValue、 NSNumber、NSNull、NSDate的使用

NSValue的使用:
// 创建NSValue对象
NSValue *value = [NSValue valueWithSize:NSMakeSize(12, 34)];
// 创建可变数组对象
NSMutableArray *array = [NSMutableArray array];
// 把NSValue添加到数组中
[array addObject:value1];
// 从数组中取出值来
NSValue *v  = [array lastObject];
// 把NSSize从NSValue中解出来
NSSize size = [v sizeValue];
// 打印信息
NSLog(@"x = %d, y = %d", size.width, size.height);
// 存放自己写的结构体
typedef struct {
int year;
int month;
int day;
}Data;
Data data = {2013, 08, 3};
// 创建NSValue对象并存入自定义的结构体
NSValue *value = [NSValue value:&data withObjCType:@encode(Data)];
// 取出放入的结构体(取出的时候没有返回值,使用指针变量得到结果)
Data d;
//  [value1 getValue:<#(void *)#>]; void * 代表任何指针
[value getValue:&d];



NSNumber的使用:
// NSNumber的创建和添加元素、可以存入int、double、float、BOOL、char等等类型
NSNumber *number = [NSNumber numberWithInt:432];
// 把值取出
int i = [num intValue];
// double d = [num doubleValue];
// float f = [num floatValue;
// 。。。。。。。



NSNull的使用:
// 数组和集合中是不能放空值的,因为nil代表结束
// 在数组和集合中,可以使用NSNull代表nil
//  创建NSNull对象,  返回的是一个单例对象
NSNull  *n = [NSNull  null];
//  创建可变数组
NSMutableArray  *array = [NSMutableArray  array];
[array  addObject:n];
//  补充一点
// OC解析json信息的时候,如果遇到键值对是null的时候,不会解析这个键值对,直接把它略过


NSDate的使用:

    // 创建NSDate对象

    NSDate *date = [NSDate date];


    // 在当前的时间增加3秒

    // Interval就是秒,其实就是一个double类型

    date = [NSDate dateWithTimeIntervalSinceNow:3];

    

    // 从1970年。。。增加43秒

    date = [NSDate dateWithTimeIntervalSince1970:43];

    

    

    // 会随机返回一个比较遥远的未来时间

    date = [NSDate distantFuture];

    // 会随机的返回一个遥远的过去的时间

    date = [NSDate distantPast];

    

    // 返回从1970返回的毫秒数

    NSTimeInterval interval = [date timeIntervalSince1970];

    

    // 和另一个时间对比

    NSDate *date1 = [NSDate date];

    [date timeIntervalSinceDate:date1];

    

    // 两个日期的比较

    // 相同返回YES,否则返回NO

    BOOL b1 = [date isEqualToDate:date1];

    // 返回比较早的那个时间

    NSDate *earlierDate = [date earlierDate:date1];

    // 返回比较晚的那个时间

    NSDate *laterDate = [date laterDate:date1];

    

    

    // 日期格式化

    // 格式化工具

    NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];

    // 格式化的样式

    // 代表小时的h大写HH代表24小时制,小写hh代表12小时制

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

    // 设置时区

    formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];

    // 格式化哪个日期

    NSString *strDate = [formatter stringFromDate:date];

    // 把字符串转换日期格式

    NSDate *dateStr = [formatter dateFromString:@"2013-12-56 22:34:34"];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值