我找到了 2 个函数来重新加载我的 UITableView 行
第一。
[tableView reloadRowsAtIndexPaths:[tableView indexPathsForVisibleRows]
withRowAnimation:UITableViewRowAnimationNone];
第二。
[tableView reloadData];
重新加载UITableView数据的更具体方法是什么
两者都是"可靠的",也可能是"特定的"(取决于你所说的具体是什么意思)——事实上,还有更多方法:
reloadData
reloadRowsAtIndexPaths:withRowAnimation:
reloadSections:withRowAnimation:
reloadSectionIndexTitles
查看开发人员文档 (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/index.html) 以了解差异,但简短的回答是它们都是可靠的 - 它只是取决于您要重新加载多少信息,以及您是否要使用动画来执行此操作。
例如,如果只想重新加载某些行,则可以使用 reloadRowsAtIndexPaths:withRowAnimation:
。 如果要重新加载整个部分,请使用 reloadSections:withRowAnimation:
。
这个答案可能有两种情况,
a) 您的表格至少包含一个部分(带有标题或返回部分的视图)
- 在这种情况下,如果您调用
reloadData
那么它也将重新加载部分。但是reloadRowsAtIndexPaths:withRowAnimation:
只会重新加载可见单元格,而不会重新加载该部分。
b) 您的表格至少包含一个部分(没有标题或返回部分的视图)
- 在这种情况下,如果您调用
reloadData
或reloadRowsAtIndexPaths:withRowAnimation:
则两者都将仅重新加载可见单元格。
那么哪一个更好呢?
- 正如我所解释的,根据情况,您应该调用任一方法。如果您有不想重新加载的部分,则应调用
reloadRowsAtIndexPaths:withRowAnimation:
方法。或者,如果您想与部分一起重新加载单元格,则应调用reloadData
方法。