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的更多相关文章

  1. oc77--结构体,NSNumber,NSValue,NSDate,NSCalendar

    // // main.m // OC中的常用结构体 // #import <Foundation/Foundation.h> int main(int argc, const char * ...

  2. NSNumber、NSValue、NSDate、NSObject

    注:OC中数组和字典只能存储OC对象不能存放基本数据类型. NSNumber NSNumber可以用来把一个基本数据类型包装成一个NSNumber类型的对象. NSNumber *number = [ ...

  3. 02-Foundation-NSMutableString、NSNumber、NSValue、NSDate、NSArray

    目录: 一.NSMutableString可变字符串 二.NSNumber数字对象 三.NSValue 四.NSDate日期对象 五.NSArray数组对象 回到顶部 一.NSMutableStrin ...

  4. OC NSNumber和NSValue和NSDate和NSData

    一 NSNumber // // main.m // 07-NSNumber // // Created by apple on 13-8-12. // Copyright (c) 2013年 itc ...

  5. NSDate和NSString的转换及判定是昨天,今天,明天

    用于uidate,picker.. +(NSDate*) convertDateFromString:(NSString*)uiDate{    NSDateFormatter *formatter ...

  6. Objective-C( Foundation框架 一 NSNumber(NSValue))

    NSNumber: 是OC中处理数字的一个类 NSValue是NSNumber的子类 如何处理: 把int,float,double  包装成一个对象 使用NSNumber的好处: 可以把基本数据类型 ...

  7. Objective - C 值对象 NSNumber和NSValue

    在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...

  8. NSNumber和NSValue

    在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...

  9. iOS 各种系统文件目录 临时,缓存,document,lib,归档,序列化

    /** 1:Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 2:tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 3 ...

随机推荐

  1. java中getBytes方法可能使图片文件产生的问题

    InputStream is = new FileInputStream(fl); ImageInputStream iis = ImageIO.createImageInputStream(is); ...

  2. 免费下载!Twitter Bootstrap V3 矢量界面素材

    Bootstrap 3 Vector UI Kit 包含所有矢量格式的 Twitter Bootstrap 3 界面控制元素.Glyphicons 以及额外的一些界面素材,而且基本的图形元素都切好图了 ...

  3. BLOCK的应用

    相比看一下枯燥乏味的对于block的讲解,为什么不从大神的代码中领路它的使用方法呢,了解一下大神是如何使用block的呢,见识它的强大.https://github.com/zwaldowski/Bl ...

  4. PHP 简单处理--文件下载--文件上传

    文件下载部分 从 down 目录下下载,先获取目录下所有文件,再为每个文件添加download 信息,主要是文件名,后缀的关系. 分两部分,down_1.php 部分初始化,点击download 则跳 ...

  5. nodejs+express+jade给我baby做个小相册

    去年年底迎来了my little star.从此人生多了一个最重要的牵挂.生了宝宝全家人都太忙了.最近宝宝稍微大点了,终于有空可以研究下技术了.这是14年第一帖.废话不多了.开始吧 1.安装NTVS ...

  6. jQuery实现表格拖动排序

    原理就是利用mousedown.mouseover.mouseup事件实现拖动,并用Ajax实现保存结果. JS代码如下: <!--题目调序功能--> <script type=&q ...

  7. js跳转页面方法大全

    js跳转页面方法大全<span id="tiao">3</span><a href="javascript:countDown"& ...

  8. Ubuntu 12.04下解决Tomcat自启动问题

    当我们安装好Tomcat使用后发现,每次启动都需要在终端中手动键入sudo /var/tomcat/bin/startup.sh,那么我们怎么解决这个问题呢 http://hovertree.com/ ...

  9. sencha panel的头header上添加刷新按钮

    var plet3=Ext.create('portaltest3.view.Portlet',                   { title: '提醒',                   ...

  10. Visual Studio中附加调试器的方法

    添加一个空的C++项目,项目属性配置如图. 命令里写要调试的程序的完整路径. 工作目录写所在目录的路径.