Oc-语句总结(5)-NSnumber/NSvalue/NSDate
2016-02-05 14:04
489 查看
1,NSNumber
❤ NSNumber
主要作用是将基本数据类型包装成对象放入数组或者字典
❤ NSNumber要转换成什莫基本数据类型就
xxxvalue
//NSNumber创建
int/float/double......
NSNumber *num = [NSNumber
numberWithInt:33];
NSLog(@"%@",num);
NSNumber
*num1 = [NSNumber
numberWithFloat:3.3];
NSLog(@"%@",num1);
NSNumber
*num2 = [NSNumber
numberWithBool:YES];
//布尔类型
NSLog(@"%@",num2);
❤ //现在的写法
NSNumber *num3 =
@10;
NSNumber
*num4 =
@1.1;
NSNumber
*num5 =
@YES;
//将对象追加到可变数组
NSMutableArray
*arr = [NSMutableArray
array];
[arr addObject:num5];
NSLog(@"%@",arr);
2.NSValue
❤NSValue主要用于将结构体或指针或枚举类型的数据(CG类型)包装成对象存入数组或字典中
❤NSNumber是NSValue的子类
例(1)
//1.创建CG结构体
CGPoint point =
CGPointMake(2,
2);
//2.将CG包装成对象
NSValue
*value = [NSValue
valueWithPoint:point];
//3.创建可变数组对其添加
NSMutableArray
*arr = [NSMutableArray
array];
[arr addObject:value];
NSLog(@"%@",arr);
//将存入的CG取出来-将NSValue在转成结构体
CGPoint
p = [value
pointValue];
NSLog(@"x = %.2lf,y = %.2lf",p.x,p.y);
❤例(2)
//建立结构体
typedef
struct{
int
year;
int
month;
int
day;
}Date;
//赋值
Date
p;
p.year =
2016;
p.month
=
2;
p.day =
5;
//包装
参数1是你要把谁变成对象,就(&)传谁的地址
// 参数2是固定类型:@encode(结构体类型)
NSValue
*val = [NSValue
valueWithBytes:&p
objCType:@encode(Date)];
//创建可变数组并存入
NSMutableArray
*arr1 = [NSMutableArray
array];
[arr1 addObject:val];
NSLog(@"%@",val);
//将结构体拿出
Date
newD;
//参数:你要用谁来接收,就传&谁的地址
[val getValue:&newD];
NSLog(@"%d,%d,%d",newD.year,newD.month,newD.day);
❤3.NSDate的使用
解释:可以进行一些常见的日期/时间处理,一个NSDate就代表一个时间,[NSDate date]返回的是当前 时间。
1.获取当前日期
//调取当前时间(格林威治时间)
NSDate *date = [NSDate
date];
NSLog(@"%@",date);
//设置时区(东八区时间)
NSTimeZone *zone = [NSTimeZone
systemTimeZone];
//设置时间间隔
NSInteger iterval = [zone secondsFromGMTForDate:date];
//重新生成时间
NSDate *localeDate =[date dateByAddingTimeInterval:iterval];//s生成当前时间localDate
NSLog(@"%@",localeDate);
2.格式化日期
//格式化时间(把日期格式化字符串)
//1.new
NSDateFormatter
*df = [NSDateFormatter
new];
//2.调用NSDateFormatter,传入你想打印的格式
df.dateFormat
=@"yyyy年MM月dd日
HH:mm:ss";
NSString
*str = [df
stringFromDate:date];
NSLog(@"%@",str);
注意:一般1、2是一起出现的
//字符串转回时间
NSDate
* dd = [df
dateFromString:str];
NSLog(@"%@",dd);
//格林威治时间
3.计算时间
明天
//1)明天的此刻
确定时长精确到秒
NSTimeInterval
secondsPerDay =
24*60*60;
//距离现在有多久
NSDate
*tomorrow = [NSDate
dateWithTimeIntervalSinceNow:secondsPerDay];
NSLog(@"myDate = %@",tomorrow);
昨天
//2)昨天的现在
NSTimeInterval secondsPerDay1 =
24*60*60;
NSDate
*now = [NSDate
date];
//计算时间,减去时长
NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1];
NSLog(@"yesterDay = %@",yesterDay);
❤ NSNumber
主要作用是将基本数据类型包装成对象放入数组或者字典
❤ NSNumber要转换成什莫基本数据类型就
xxxvalue
//NSNumber创建
int/float/double......
NSNumber *num = [NSNumber
numberWithInt:33];
NSLog(@"%@",num);
NSNumber
*num1 = [NSNumber
numberWithFloat:3.3];
NSLog(@"%@",num1);
NSNumber
*num2 = [NSNumber
numberWithBool:YES];
//布尔类型
NSLog(@"%@",num2);
❤ //现在的写法
NSNumber *num3 =
@10;
NSNumber
*num4 =
@1.1;
NSNumber
*num5 =
@YES;
//将对象追加到可变数组
NSMutableArray
*arr = [NSMutableArray
array];
[arr addObject:num5];
NSLog(@"%@",arr);
2.NSValue
❤NSValue主要用于将结构体或指针或枚举类型的数据(CG类型)包装成对象存入数组或字典中
❤NSNumber是NSValue的子类
例(1)
//1.创建CG结构体
CGPoint point =
CGPointMake(2,
2);
//2.将CG包装成对象
NSValue
*value = [NSValue
valueWithPoint:point];
//3.创建可变数组对其添加
NSMutableArray
*arr = [NSMutableArray
array];
[arr addObject:value];
NSLog(@"%@",arr);
//将存入的CG取出来-将NSValue在转成结构体
CGPoint
p = [value
pointValue];
NSLog(@"x = %.2lf,y = %.2lf",p.x,p.y);
❤例(2)
//建立结构体
typedef
struct{
int
year;
int
month;
int
day;
}Date;
//赋值
Date
p;
p.year =
2016;
p.month
=
2;
p.day =
5;
//包装
参数1是你要把谁变成对象,就(&)传谁的地址
// 参数2是固定类型:@encode(结构体类型)
NSValue
*val = [NSValue
valueWithBytes:&p
objCType:@encode(Date)];
//创建可变数组并存入
NSMutableArray
*arr1 = [NSMutableArray
array];
[arr1 addObject:val];
NSLog(@"%@",val);
//将结构体拿出
Date
newD;
//参数:你要用谁来接收,就传&谁的地址
[val getValue:&newD];
NSLog(@"%d,%d,%d",newD.year,newD.month,newD.day);
❤3.NSDate的使用
解释:可以进行一些常见的日期/时间处理,一个NSDate就代表一个时间,[NSDate date]返回的是当前 时间。
1.获取当前日期
//调取当前时间(格林威治时间)
NSDate *date = [NSDate
date];
NSLog(@"%@",date);
//设置时区(东八区时间)
NSTimeZone *zone = [NSTimeZone
systemTimeZone];
//设置时间间隔
NSInteger iterval = [zone secondsFromGMTForDate:date];
//重新生成时间
NSDate *localeDate =[date dateByAddingTimeInterval:iterval];//s生成当前时间localDate
NSLog(@"%@",localeDate);
2.格式化日期
//格式化时间(把日期格式化字符串)
//1.new
NSDateFormatter
*df = [NSDateFormatter
new];
//2.调用NSDateFormatter,传入你想打印的格式
df.dateFormat
=@"yyyy年MM月dd日
HH:mm:ss";
NSString
*str = [df
stringFromDate:date];
NSLog(@"%@",str);
注意:一般1、2是一起出现的
//字符串转回时间
NSDate
* dd = [df
dateFromString:str];
NSLog(@"%@",dd);
//格林威治时间
3.计算时间
明天
//1)明天的此刻
确定时长精确到秒
NSTimeInterval
secondsPerDay =
24*60*60;
//距离现在有多久
NSDate
*tomorrow = [NSDate
dateWithTimeIntervalSinceNow:secondsPerDay];
NSLog(@"myDate = %@",tomorrow);
昨天
//2)昨天的现在
NSTimeInterval secondsPerDay1 =
24*60*60;
NSDate
*now = [NSDate
date];
//计算时间,减去时长
NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1];
NSLog(@"yesterDay = %@",yesterDay);
相关文章推荐
- 时间选择器 UIDatePicker 简单的创建方法
- ExAcquireResourceSharedLite routine
- Zoho Recruit -求职者审批表
- Solr DocValues详解
- iOS7系统中的坑——UITableViewCellScrollView
- 使用Hibernate时出现“could not execute query”异常
- iOS开发——UILabel自适应较多的文本
- iOS9 升级后UIAlertController的简单使用
- iOS之UIView加边框及边框颜色
- 移动开发中使用Onsen UI的笔记
- iOS UIWeb与JS之间的交互
- DICOM:DICOM开源库多线程分析之“ThreadPoolQueue in fo-dicom”
- iOS开发技巧之扩展UIColor,支持十六进制颜色设置
- Item 21: 比起直接使用new优先使用std::make_unique和std::make_shared
- Item 18: 使用srd::unique_ptr来管理独占所有权的资源
- EasyUi图标
- 从request获取各种路径总结
- ToStringBuilder学习(三):readResolve()方法与序列化
- swing入门教程(五) swing其他重要概念
- pyqt实现CSDN博客访客数编程自动化增加GUI