我的应用程序正在获取相当大的 JSON 数据提要,代表数千种产品数据。在 CoreData 中解析和保存数据后(全部在后台线程中),UITableView
在解析后显示数据会阻塞 UI,因为它是在主线程中完成的。但问题是用户界面仍然被阻塞了几秒钟,这不是用户友好的。那么你如何建议我可以在不阻塞 UI 的情况下处理重新加载数据?
//...
//After parsing data, reload UITableView
[self.tView reloadData];
编辑:
我可能会重新解释我的问题,在解析数据、重新加载数据、UITableView
对象显示所有数据之后。然后在我终于可以再次使用该应用程序之前,UI 被阻止了几秒钟。
这是我的相关代码:
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON){
//Parse data
[self.tView reloadData];//Display data
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
//Save data
}];
}failure:^(NSURLRequest *request, NSHTTPURLResponse *response,NSError *error, id JSON){
//
}];
[operation start];
}