選択したテーブル ビューの行のセル タイトルを NSUserDefaults に保存しようとしています。didSelectRowAtIndexPath:メソッドに次のコードがあります。現時点では、これにより listOfItems (NSMutableArray) 全体が保存されます。ユーザーがテーブル行で選択した listOfItems 配列オブジェクトを保存して取得できるようにしたいと考えています。
助けてくれてありがとう
これは、viewDidLoad で初期化される NSMutableArray です。
listOfItems = [[NSMutableArray alloc] init];
[listOfItems addObject:@"Brazil"];
[listOfItems addObject:@"Italy"];
[listOfItems addObject:@"Spain"];
[listOfItems addObject:@"United Kingdom"];
[listOfItems addObject:@"United States"];
didSelectRowAtIndexPath: メソッド
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
// Customize archiver here
[archiver encodeObject:listOfItems forKey:@"keyForYourArrayOfNSIndexPathObjects"];
[archiver finishEncoding];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"keyForYourArrayOfNSIndexPathObjects"];
NSKeyedUnarchiver *unarchiver;
unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:
[[NSUserDefaults standardUserDefaults] objectForKey:@"keyForYourArrayOfNSIndexPathObjects"]];
// Customize unarchiver here
listOfItems2 = [unarchiver decodeObjectForKey:@"keyForYourArrayOfNSIndexPathObjects"];
[unarchiver finishDecoding];
NSLog(@"from the list of items: %@", listOfItems2[2]);
}
NSLog の出力は次のとおりです。「アイテムのリストから: スペイン」