0

我在 didSelectItem 上为我的 TableView 加载核心数据,但这使得标签栏感觉迟缓,直到新数据加载后才会更新。解决此问题的好方法是什么?我可以在数据加载之前更新选项卡栏和空白表格视图,还是可以以某种方式显示活动指示器?

这是我当前的代码

- (void) tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSInteger index = [item tag];
NSMutableArray *schedule = [dataHandler fetchEntriesForCourse:[[_Courses objectAtIndex:index] valueForKey:@"CourseCode"]];
tableView.schedule = schedule;
}
4

2 回答 2

0

您可以在后台线程中进行获取,使用 GCD 并在数据到来时填充表格视图。这是一篇关于在后台线程中使用 Core Data 的精彩文章。

http://www.cimgf.com/2011/05/04/core-data-and-threads-without-the-headache/

真的,如果您使用 fetchresultscontroller 捕获数据,您需要做的就是在另一个线程中进行 fetch。然后随着 fetch 的进行,它会自动捕获添加的新行。

于 2012-04-16T04:03:01.117 回答
0

当应用程序启动时,我最终制作了一个 NSMutableArray 来存储数据,因此选项卡更改得更快,因为它不必获取核心数据。

于 2012-05-07T11:41:24.363 回答