我有一个管理整个 Core Data 写入和读取方法的单例类,有时(由于 JSON 解析和多个对象保存)这个单例(现在在主线程中运行)会阻塞 UI。
我正在使用以下代码创建 Singleton 实例:
static MyClass *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
sharedInstance = [[MyClass alloc] init];
});
});
return sharedInstance;
如何在不同的线程中创建此实例以在后台完成所有数据库任务?谢谢!
最佳答案
我建议使用 Grand Central Dispatch 在您喜欢的任何线程上运行单例方法的内容。以 dispatch_async 为例。
关于iOS:始终在后台运行单例实例(不同线程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22862613/