NSDate,NSNumber,NSValue
NSDate
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//通过date方法创建的时间对象,对象就保存了当前的时间;
/* NSDate *now=[NSDate date];
NSLog(@"%@",now);
//在now的基础上追加多少秒
// NSDate *date= [now dateByAddingTimeInterval:10];
// NSLog(@"date=%@",date);
//获取当前所处的失去
// NSTimeZone *zone=[NSTimeZone systemTimeZone];
//获取当前时区和指定时区的时间差
// NSInteger second= [zone secondsFromGMTForDate:now];
// NSLog(@"%lu",second);
NSData *newDate=[now dateByAddingTimeInterval:28800];
NSLog(@"%@",newDate);
*/
//格式化时间
// NSDate *now=[NSDate date];
// NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
// formatter.dateFormat=@"yyyy年MM月dd日 HH时mm分ss秒 Z";
//
// NSString *str= [formatter stringFromDate:now];
// NSLog(@"%@",str);
//NSString -》NSDate
// NSDate *now=[NSDate date];
// NSLog(@"%@",now);
//把字符串转化为NSDate格式 那么dateFormat的格式,必须和字符串的时间格式一致,否则可能转换失败
NSString *str=@"2016-01-09 06:46:34 +0000";
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
// formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss Z";
NSDate *date=[formatter dateFromString:str];
NSLog(@"%@",date);
}
return ;
}
NSNumber
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
int age=;
int number=;
int value=;
//NSNumber的声明
NSNumber *ageNumber=[NSNumber numberWithInt:age];
NSNumber *numberN=[NSNumber numberWithInt:number];
NSNumber *valueV=[NSNumber numberWithInt:value];
NSArray *arr=@[ageNumber,numberN,valueV];
// NSLog(@"%@",arr);
for (NSArray *A in arr) {
NSLog(@"%@",A);
}
//把NSNumber类型的数据转换成基本数据类型
int temp=[ageNumber intValue];
NSLog(@"%d",temp);
//简写
// NSNumber *temp1=@(age);
// NSLog(@"%@",temp1);
// NSNumber *temp=@210.10;
// NSLog(@"%@",temp);
}
return ;
}
3.NSValue
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
typedef struct{
int age;
char *name;
double height;
}Person;
Person p={,"qll",1.72};
//利用NSValue包装常用结构体
// CGPoint point =NSMakePoint(10, 20);
// NSValue *value=[NSValue valueWithPoint:point];
// NSArray *arr=@[value];
// NSLog(@"%@",arr);
//<#(nonnull const void *)#>表示要包装数据类型的地址,而<#(nonnull const char *)#>表示要包装的数据类
//书写的固定格式为@encode()
NSValue *v=[NSValue valueWithBytes: &p objCType:@encode(Person)];
NSArray *arr=@[v];
NSLog(@"%@",arr);
//从已经包装好的数据类型中取出数据
Person res;
[v getValue:&res];
NSLog(@"age=%d,name=%s,height=%f",res.age,res.name,res.height);
};
return ;
}
NSDate,NSNumber,NSValue的更多相关文章
- oc77--结构体,NSNumber,NSValue,NSDate,NSCalendar
// // main.m // OC中的常用结构体 // #import <Foundation/Foundation.h> int main(int argc, const char * ...
- NSNumber、NSValue、NSDate、NSObject
注:OC中数组和字典只能存储OC对象不能存放基本数据类型. NSNumber NSNumber可以用来把一个基本数据类型包装成一个NSNumber类型的对象. NSNumber *number = [ ...
- 02-Foundation-NSMutableString、NSNumber、NSValue、NSDate、NSArray
目录: 一.NSMutableString可变字符串 二.NSNumber数字对象 三.NSValue 四.NSDate日期对象 五.NSArray数组对象 回到顶部 一.NSMutableStrin ...
- OC NSNumber和NSValue和NSDate和NSData
一 NSNumber // // main.m // 07-NSNumber // // Created by apple on 13-8-12. // Copyright (c) 2013年 itc ...
- NSDate和NSString的转换及判定是昨天,今天,明天
用于uidate,picker.. +(NSDate*) convertDateFromString:(NSString*)uiDate{ NSDateFormatter *formatter ...
- Objective-C( Foundation框架 一 NSNumber(NSValue))
NSNumber: 是OC中处理数字的一个类 NSValue是NSNumber的子类 如何处理: 把int,float,double 包装成一个对象 使用NSNumber的好处: 可以把基本数据类型 ...
- Objective - C 值对象 NSNumber和NSValue
在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...
- NSNumber和NSValue
在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...
- iOS 各种系统文件目录 临时,缓存,document,lib,归档,序列化
/** 1:Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 2:tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 3 ...
随机推荐
- SQL:一句话删除重复的数据
--构造原始数据 )) --插入数据 INSERT INTO #T (N)VALUES ('A') --方式一:一句话删除重复数据(无主键) --方式二:采用CTQ,with的写法删除 ;
- ubuntu14.04使用IceGridAdmin图形界面
打开网页: http://www.rpmfind.net/linux/RPM/index.html输入搜索: icegrid-gui下载文件: icegrid-gui-3.5.1-2.mga4.x86 ...
- 简单的session共享的封装
目的 session存储在缓存服务器上(各种缓存服务器上均可,本文以memcached为例),但对开发者来说,他不用关注,只需要调用request.getSession()方法即可获取到session ...
- Python单元测试框架之pytest---如何执行测试用例
介绍 pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序. 适合从简单的单元到复杂的功能测试 l 模块化parametrizeable装置(在2.3,持续改进) l 参 ...
- Direct3D11学习:(三)Direct3D11初始化
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 做完一系列的准备工作之后,我们就正式进入Direct3D11的学习了.我们就从Direct3D11的初始化工作开 ...
- javascript之纯数字验证
现在有一个需求如下图: 产品经理说Card Number只能让输入数字(中间的空格是格式自加的,也是用js实现的),有时候我脑海中出现了个声音,啥玩意,加个type=number不就行了,事实发现图样 ...
- mysql 线上not in查询中的一个坑
今天早上开发又过来说,怎么有个语句一直没有查询出结果,数据是有的呀,并发来了如下的sql(为了方法说明,表名及查询均做了修改): select * from t2 where t2.course no ...
- PHP正则表达式提取超链接及其标题
有这么一段HTML,比较不规则的,如果要提取其中的链接地址和链接名称,怎么弄? //HTML$str = ''<a id="top8" href="http://l ...
- Web基础开发最核心要解决的问题
Web基础开发要解决的问题,往往也就是那些框架出现的目的 - 要解决问题. 1. 便捷的Db操作: 2. 高效的表单处理: 3. 灵活的Url路由: 4. 合理的代码组织结构: 5. 架构延伸 缓存. ...
- 【NOIP训练】【Tarjan求割边】上学
题目描述 给你一张图,询问当删去某一条边时,起点到终点最短路是否改变. 输入格式 第一行输入两个正整数,分别表示点数和边数.第二行输入两个正整数,起点标号为,终点标号为.接下来行,每行三个整数,表示有 ...