辞書の配列を含むplistを使用して、TableView(プロトタイプセル)で選択したセルのTableViewとDetailViewにデータを入力しています。そのためのボタンが押されたときに、選択した辞書をお気に入りタブ(別のTableView)に追加したいと思います。これはこれまでの私のコードです:
これまでのDetailViewControllerのコード:
-(IBAction)FavoriteButton:(id)sender
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"ItemSelected"
object:selectedObject];
}
これまでのコードで、FavoritesViewControllerのオブジェクトをキャッチします。
[[NSNotificationCenter defaultCenter] addObserverForName:@"ItemSelected"
object:nil
queue:[NSOperationQueue mainQueue]
usingBlock:^(NSNotification* notif) {
[favoritedObjects release];
favoritedObjects = [[notif object] retain];
[self.tableView reloadData];
}];
//And populate the TableView with the objects:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [favoritedObjects count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Favcell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// Configure the cell...
NSString *cellValue = [favoritedObjects valueForKey:@"Name"];
cell.textlabel.text = cellValue;
return cell;
}
これは、キーの値を持つ20個のセルを示しています:「お気に入りに追加」ボタンを押したDetailViewControllerの最後のオブジェクトの「名前」。たとえば、お気に入りに「Gato Negro」を追加すると、20個のセルに「GatoNegro」が表示されます。次に、favに「Luna」を追加すると、FavoritesViewControllerの20個のセルで「GatoNegro」が「Luna」に置き換えられます。では、お気に入りのTableViewに1つずつ表示するにはどうすればよいですか。
また、アプリを閉じたときに通知センターに変更を保存させて、次回のお気に入りを記憶させるにはどうすればよいですか?
ここのどこかでコミュニケーションの問題のようです。