我正在使用 MagicalRecord 库加载一些用于填充 tableview 的 CoreData 对象。这是一个缓慢的操作,因此我试图在后台威胁上执行此操作。这一切似乎都很顺利,数据被加载到self.products
,只有在一段时间(+-分钟)之后,所有加载的对象似乎都进入了<fault>
状态。我不明白为什么会这样,有人知道吗?
- (void)doInBackground
{
dispatch_queue_t myQueue = dispatch_queue_create("com.mycompany.myqueue", 0);
dispatch_async(myQueue, ^{
[self reloadData];
dispatch_sync(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.view animated:YES];
[self performSelectorOnMainThread: @selector(sortData:) withObject:self waitUntilDone:YES];
});
});
}
- (void)reloadData
{
NSArray *allProducts = [NSArray array];
allProducts = [NSArray arrayWithArray:[Product MR_findAll]];
self.products = [NSArray arrayWithArray:allProducts];
}