Pet*_*isu 10 multithreading cocoa-touch objective-c realm ios
我想在后台线程上获取大量对象,但是我无法将它们传递给主线程,就像我得到的那样
*** Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread'
Run Code Online (Sandbox Code Playgroud)
获取代码
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
//Background Thread
RLMRealm * realm = [RLMRealm defaultRealm];
self.allObjectsRLMResult = [MyClass allObjectsInRealm:realm];
dispatch_async(dispatch_get_main_queue(), ^(void){
// use self.allObjects and do stuff on main thread
});
});
Run Code Online (Sandbox Code Playgroud)
如何在后台执行提取并将对象传递给主线程,因此对性能影响最小
我可以获得主键,然后在主线程上重新获取,但这将是相同的性能(可能甚至更慢)直接获取它们
| 归档时间: |
|
| 查看次数: |
3301 次 |
| 最近记录: |