関数 archiveQueue を呼び出して、プログラム全体でさまざまな時点でタイプ MYJSON のオブジェクトを格納していますが、今まで配列に格納していたすべてのものを復元したいと考えています。
以下は、オブジェクトを保存するために使用している関数です。
- (void)archiveQueue:(MYJSON *)msg{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:msg];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *file = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"myqueue.txt"];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager createFileAtPath:file contents:data attributes:nil];
NSLog(@"ArchiveQueue: file = %@", file);
}
以下は、オブジェクトを復元するために使用している関数です。
- (void)restoreQueue {
NSLog(@"RestoreQueue: Restoring queue from Document Directory.");
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *file = [[paths objectAtIndex:0] stringByAppendingPathComponent: @"myqueue.txt"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSData *data = [fileManager contentsAtPath:file];
// How to unarchive that array of objects being stored.
}
オブジェクトの配列として保存したすべてをどのように解凍すればよいですか?