我正在使用带有字典数组的 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 个单元格中显示“Gato Negro”。如果我然后将“Luna”添加到收藏夹中,它会在 FavoritesViewController 的 20 个单元格中将“Gato Negro”替换为“Luna”。那么如何在收藏夹 TableView 中一一显示它们?
以及如何让 NotificationCenter 在应用程序关闭时保存更改,以便下次记住收藏夹?
这似乎是某种地方的沟通问题。