NSDateComponents を NSUserDefaults に保存したいので、最初に NSData でラップする必要があります。これを行うにはどうすればよいですか?
または、NSDateComponent をユーザーのデフォルトに格納する別の方法はありますか?
NSDateComponents を NSUserDefaults に保存したいので、最初に NSData でラップする必要があります。これを行うにはどうすればよいですか?
または、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];