1
我想存儲一個NSDateComponents到NSUserDefaults,所以需要首先將它包裝在一個NSData中,這個怎麼做?如何將NSDateComponents存儲到NSUserDefaults中?
另外還有另一種方法存儲一個NSDateComponent到用戶默認值?
我想存儲一個NSDateComponents到NSUserDefaults,所以需要首先將它包裝在一個NSData中,這個怎麼做?如何將NSDateComponents存儲到NSUserDefaults中?
另外還有另一種方法存儲一個NSDateComponent到用戶默認值?
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];
這可以用更少的代碼使用類方法'archivedDataWithRootObject來完成:'和'unarchiveObjectWithData:'。 – omz 2012-07-19 22:12:32