0

我是 iOS 编程的新手,目前正在学校上 iOS 课程。对于我正在做的一个项目,我们必须为 iPhone 编写一个基本的主从应用程序。对于我的应用程序,我正在创建一个简单的待办事项列表类型的应用程序。每个任务的名称显示在主视图中,任务的名称可以在详细视图中更改。我设置了一个保存按钮,按下时有一个展开的 segue 委托。当我按下按钮时,我会回到主视图,我无法实时更改相应单元格的值。我知道主视图正在获取更改的信息,因为更改的信息不会被保存,直到控制权转移回主视图并被保存。当我重新运行应用程序时,会显示新名称而不是默认名称。

这是 unwind segue 的代表

- (IBAction) done:(UIStoryboardSegue *)segue
{
// index for the cell in the master view table that was changed
NSIndexPath *changeIndex = [self.tableView indexPathForSelectedRow];

[self tableView:self.tableView cellForRowAtIndexPath:changeIndex];

// place the new dictionary entry created by the detail view in the location of the
// array where the old entry was located
_taskList[changeIndex.row] = self.ChangedEntry;

// store the change in the plist file
[_taskList writeToFile:self->documentPlistPath atomically:YES];
}

它调用了这个函数,它似乎改变了表格中单元格的文本,但我不确定

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:  (NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
cell.textLabel.text = _taskList[indexPath.row][TASK_DATA_NAME];
return cell;
}

所以是的,我只是想弄清楚如何使主视图反映在详细视图中所做的更改,而无需关闭应用程序并重新打开它。哦,我正在使用 Xcode 5 并针对 iOS 7。

4

1 回答 1

1

基本上,在您更新数据模型 ( _taskList) 之后,您需要通过调用它来刷新表视图reloadData。这告诉它更新所有行。

于 2013-10-17T18:40:04.830 回答