您的位置:首页 > 产品设计 > UI/UE

NSDate,NSNumber,NSValue

2016-01-09 15:05 288 查看
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 0;
}


NSNumber

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {

int age=10;
int number=5;
int value=6;
//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 0;
}


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={30,"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 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: