【发布时间】:2014-07-08 06:30:19
【问题描述】:
我无法找到这个特定问题的答案,所以在这里。
我在一个 UITabBarController 下有多个 VC,每个都有一个 UITableView 并使用 NSFetchedRequestController 来获取数据。在每个 VC 中,我都有一个 refreshFetchedRequest 方法,我调用 viewDidAppear 以开始反映从一个 VC 到另一个 VC 的任何更改。它基本上只是做一个 performFetch。
这个问题可以通过在 refreshFetchedRequest 之后调用 reloadData 轻松解决,但我想要行/节插入/删除动画。
所以总结一下 viewDidAppear,我这样做:
[self refreshFetchedRequest];
[tableView beginUpdates];
// compare cached rows/sections with NSFetchedRequestController - how?
[tableView endUpdates];
我从哪里获取现有缓存的 UITableView 行和部分以将它们与刷新的 NSFetchedResultsController 进行比较?
更新:
我现在在我的 viewDidAppear 方法中这样做:
NSFetchedRequestController *frcBeforeUpdate = frc;
[self refreshFetchedRequest]; // refreshes my frc property
[tableView beginUpdates];
// compare frcBeforeUpdate with frc here
[tableView endUpdates];
【问题讨论】:
标签: ios objective-c uitableview nsfetchedresultscontroller