我正在制作一个与 9gag 应用程序非常相似的应用程序,并且我正在努力获得平滑滚动,所以我试图让所有内容都脱离主线程。给我带来麻烦的是Core Data。
我有一个类 PhotoSource,它创建了自己的线程,如下所示:
@property (nonatomic) dispatch_queue_t photoSourceThread;
...
dispatch_async(self.photoSourceThread, ^{
...
});
我还有另一堂课,它只处理核心数据:
@property (nonatomic, strong) TLCoreDataManager *coreDataManager;
PhotoSource 类中的所有内容都发生在它的线程中,包括对 TLCoreDataManager 的调用,如下所示:
dispatch_async(self.photoSourceThread, ^{
Photo *storedPhoto = [self.coreDataManager getPhotoWithURLString:urlString];
...
});
有时它有效,但在应用程序启动后,我从我的 NSFetchRequest[s] 中得到 0 个结果,我不知道该怎么做。有什么想法可能是错的吗?如果您需要更多代码,请告诉我!
谢谢