iOS 5引入了一种新方法,通过初始化MOC NSPrivateQueueConcurrencyType然后进行提取来快速获取后台线程上的数据performBlock:
Core Data的一个经验法则是您无法在线程/队列之间共享托管对象.它仍然是这样performBlock:吗?以下是:
[context performBlock:^{
// fetch request code
NSArray *results = [context executeFetchRequest:request error:nil];
dispatch_async(dispatch_get_main_queue(), ^(void) {
Class *firstObject = [results objectAtIndex:0];
// do something with firstObject
});
}];
Run Code Online (Sandbox Code Playgroud)
因为我在bg队列和主队列之间共享我的结果数组/对象,所以还是不可接受的?我是否仍需要使用托管对象ID来执行此操作?