NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
(一)NSValue值转换
#import <Foundation/Foundation.h> int main() { // 结构体--->OC对象 CGPoint p = CGPointMake(10, 10); // 将结构体转为Value对象 NSValue *value = [NSValue valueWithPoint:p]; // 将value转为对应的结构体 // [value pointValue]; NSArray *array = @[value]; return 0; }
(二)NSDate日期格式设定
代码示例
1.
void test() { //了解一下就行 // 创建一个时间对象 NSDate *date = [NSDate date]; NSDate * date1 = [NSDate dateWithTimeInterval:5 sinceDate:date]; // 从1970开始走过的秒数 NSTimeInterval seconds = [date timeIntervalSince1970]; // 调用代码和这个时间相差多少秒 // [date1 timeIntervalSinceNow]; NSLog(@"%@",date); }
2.
void test1() { // 要掌握(1) // 将date转化为字符串 // 1.当前的时间(不是东八区的) NSDate *date = [NSDate date]; // 2.日期格式转化类(只有对象方法) NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; // y年 M月 d 日 // m分 s秒 H (24)时 h(12)时 // 3.在这里设置格式,将date转化成一定格式的字符串 formatter.dateFormat=@"yyyy-MM-dd hh:mm:ss"; NSString *str = [formatter stringFromDate:date]; // 把右边的date转化成左边的string(formatter)格式 NSLog(@"%@",str); }
3.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { // 要掌握(2) // 将字符串转化为date NSString *time = @"2011/12/12 12:20"; // 注意:这里的时间制要和下面的HH对应,否则打印不出来 NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; formatter.dateFormat = @"yyyy/MM/dd HH:mm"; // 注意 NSDate *date = [formatter dateFromString:time]; NSLog(@"%@",date); return 0; }