概述
-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------
OC中NSNumber、NSValue、NSDate 的使用总结
一、NSNumber的使用
1、NSNumber的作用
可以将基本类型的数据包装成一个对象,可以间接的把基本类型的数据已对象的形式保存进NSArray或者NSDictionary中
2、NSNumber的创建
(1)将int 类型数据包装成对象类型
+(NSNumber *) numberWithInt: (int) value;
(2)将float 类型数据包装成对象类型
+(NSNumber *) numberWithFloat: (float) value;
(3)将double 类型数据包装成对象类型
+(NSNumber *) numberWithDouble: (double) value;
3、将对象类型转化为 基本数据类型
-(int) intValue;
-(float) floatValue;
-(double) doubleValue;
4、NSNumber 的简写形式
int a = 10;
@(变量名) 把数值包装成对象 例如 @(a)
@数值 把数值包装成对象 例如 @8 @YES 也可以
二、NSValue的使用
1、NSValue的作用
NSNumber是NSValue 的子类,用来把指针,CGRect结构体等包装成OC对象,以方便存储
2、将结构体转换为NSvalue对象
+(NSvalue) valueWithPoint: (NSPoint) point;
+(NSvalue) valueWithSize: (NSSize) size;
+(NSvalue) valueWithRect: (NSRect) rect;
// 创建一个结构体变量,
CGPoint p = CGPointMake(10, 20 );
NSRect r = NSMakeRect (0,0,10, 10);
NSValue * pointVal =[NSValue valueWithPoint:p];
// 将结构体 r 转换为对象类型
NSValue * rectVal = [ NSValue valueWithRect:r ];
获取结构体的值,并且保存在结构体变中
例如 [val getValue: &tmd ]; 从val中取出值并保存在另一结构体 tmd 中
-(void) getValue:(void *)
3、从NSvalue对象转换为结构体
-(NSPoint) pointValue;
-(NSSize) sizeValue;
-(NSRecr) rectValue;
三、NSDate 的介绍和使用
1、NSDate 的介绍
NSDate 是用来表示时间,进行一些常见的日期、时间的处理的一个类,一个NSDate就代表一个时间
(1)可以获取当前时间
NSDate *d1 = [NSDate date];
获取的是0时区(格林威治时间)的当前时间
(2)格式化显示时间
//1/创建一个对象
NSDateFormat *datef = [ NSDateFOrmatter new ];
// 2/ 设置日期的显示格式
/*
yyyy表示四位的年份
MM 表示2位的月份
dd 表示2位的天数
HH 表示24小时制 hh 表示12小时制
mm 表示2位的分钟数
ss表示2位的秒数
*/
datef . dateFormat = @"yyy年MM月dd日 HH:mm:ss";
datef . dateFormat = @"yyy年MM月dd日 hh:mm:ss";
datef . dateFormat = @"yyy/MM/dd hh:mm:ss";
datef . dateFormat = @"yyy-MM-dd hh:mm:ss";
//3/格式化日期
NSString *dateStr = [ datef stringFormatDate:d1 ];
把日期 d1 格式化为一个字符串输出,返回值是一个字符串类型
(3)计算时间
计算明天的时间
// 计算出现在距离明天的秒数
NSTimeInterval t = 60*60*24
NSDate *tom = [ NSDate dateWithTimeIntervalSinceNow:t ];
//格式化输出明天的时间
NSString *tomTimStr = [ datef stringFormatDate: tom ];
计算昨天的时间时 t 为负数即可实现
(4)日期时间对象的使用
获取一个日期时间中的 年、月、日、时、分、秒
-(NSDatecomponments *)componments: (NSCalendarUnit) unitFlags fromDate:(NSDate *) date
是一个 日期的类,可以快速的获取 年、月、日、时、分、秒
// 获得当前日期
NSDate *d4 = [ NSDate date ];
//创建日期的对象
NSCalendar *cal = [ NSCalendar currentCalendar ];
// 从日期d4 中 快速的获取 年、月、日
NSDateComponments * YMD = [ cal componments: NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:d4 ];
返回值是一个对象类型的 是NSDateComponments * 类型
NSLog(@" 年:%ld 月:%ld 日:%ld " , YMD.year, YMD.month, YMD. day );
最后
以上就是粗心含羞草为你收集整理的——黑马程序员——OC中NSNumber、NSValue、NSDate 的使用总结一、NSNumber的使用二、NSValue的使用三、NSDate 的介绍和使用的全部内容,希望文章能够帮你解决——黑马程序员——OC中NSNumber、NSValue、NSDate 的使用总结一、NSNumber的使用二、NSValue的使用三、NSDate 的介绍和使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复