この構造を作成するのは非常に簡単です。キー「Cards」の配列値を持つ辞書を作成します。以下の例..
NSMutableDictionary *cards = [NSMutableDictionary dictionary];
NSMutableArray *cardArray = [NSMutableArray array];
NSMutableDictionary *item = [NSMutableDictionary dictionary];
[item setValue:@"Card Name" forKey:@"Name"];
[item setValue:@"Card Number" forKey:@"Number"];
[item setValue:@"Card Type" forKey:@"Type"];
[cardArray addObject:item];
[cards setValue:cardArray forKey:@"Cards"];
[[NSUserDefaults standardUserDefaults] setValue:cards forKey:@"user_cards"];
[[NSUserDefaults standardUserDefaults] synchronize];
カードを取得するには、次のようにします..self.cards が NSMutableArray ivar であると仮定します..
NSMutableDictionary *stored = [[NSUserDefaults standardUserDefaults] valueForKey:@"user_cards"];
self.cards = [stored valueForKey:@"Cards"];
以下のように、テーブルビューは ivar を使用cards
してデータを入力する必要があります。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
......
//Now we populate each row of the cell with each `card` Name.
cell.textLabel.text = [[self.cards objectAtIndex:[indexPath row]] valueForKey:@"Name"];
.....
}
保存された辞書に新しく追加されたカードを再保存するには、次のようにします..
NSMutableDictionary *newCard = [NSMutableDictionary dictionary];
[newCard setValue:@"Card Name" forKey:@"Name"];
[newCard setValue:@"Card Number" forKey:@"Number"];
[newCard setValue:@"Card Type" forKey:@"Type"];
[self.cards addObject:newCard];
[[NSUserDefaults standardUserDefaults] valueForKey:@"user_cards"] setValue:self.cards forKey:@"Cards"];
[[NSUserDefaults standardUserDefaults] synchronize];
これがあなたの質問に役立った場合は、回答として受け入れてください。