2012-07-19 75 views

回答

3

NSDateComponents符合NSCoding协议,所以您可以使用NSKeyedArchiver/NSKeyedUnarchiver来完成这项工作。下面是一些示例代码:

NSDateComponents *cmp = ...; 
//Encoding 
NSMutableData *data= [NSMutableData data]; 

NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; 

[archiver encodeObject:cmp]; 
[archiver finishEncoding]; 

//Decoding 
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; 

NSDateComponents *decoded = [unarchiver decodeObject]; 

[unarchiver finishDecoding]; 
+1

这可以用更少的代码使用类方法'archivedDataWithRootObject来完成:'和'unarchiveObjectWithData:'。 – omz 2012-07-19 22:12:32

相关问题