2

我有一本字典,其中包含列表中的每个项目。然后我有一个 plist,其中包含列表中每个项目的用户信息,包括该项目是否已被收集。然后我根据字典的 plist 加载带有信息的 UITableView,仅显示用户仍未收集的项目。

用户可以点击每一行并导航到 UIView 页面,其中包含项目的信息,使用静态按钮将项目添加到已完成列表中。当按下按钮时,程序将与用户 plist 文件中的项目相关的“已完成”字段更改为“是”,当用户导航回 UITableView 时,通过调用函数将项目从列表[self.tableView reloadData]中删除。viewDidAppear

我还希望用户能够在 UITableView 中进入“编辑模式”并一次选择要添加的多行。我已经设法使功能正常工作,使用self.tableView.allowsMultipleSelectionDuringEditing = YES;但是NSArray *temp = self.tableView.indexPathsForSelectedRows;tableView 不会刷新屏幕,直到用户导航出页面并再次返回。我已经尝试添加[self.tableView reloadData]不同的功能,但它们都不起作用。

提前感谢您的帮助。

4

1 回答 1

1

我想不出 reloadData 不起作用的原因,但 IMO 你应该试试

- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation: (UITableViewRowAnimation)animation 

而不是reloadData(如果你还没有)。
另外http://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/ManageInsertDeleteRow/ManageInsertDeleteRow.html#//apple_ref/doc/uid/TP40007451-CH10-SW9这可能会有所帮助。让我知道这是否适合您。

于 2013-05-02T06:53:31.363 回答