我有一个字典,用于保存列表中的每个项目。然后我有一个plist,其中包含列表中每个项目的用户信息,包括是否已收集项目。然后我加载一个UITableView,其中包含基于针对字典的plist的信息,仅显示用户仍未收集的项目。
用户可以点击每一行并导航到UIView页面,其中包含项目信息,并带有静态按钮,以将项目添加到已完成列表中。当按下该按钮时,程序将与用户plist文件中的项目相关的“已完成”字段更改为“是”,当用户导航回UITableView时,通过调用[self.tableView reloadData]
将该项目从列表中删除viewDidAppear
函数。
我还希望用户能够在UITableView中输入“编辑模式”,并选择一次添加多行。我已经设法使用self.tableView.allowsMultipleSelectionDuringEditing = YES;
和NSArray *temp = self.tableView.indexPathsForSelectedRows;
使函数正常工作,但tableView不会刷新屏幕,直到用户导出页面并再次返回。我尝试在不同的函数中添加[self.tableView reloadData]
,但它们都不起作用。
提前感谢您的帮助。
答案 0 :(得分: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这可能会有所帮助。
如果这对您有用,请告诉我。