iOS:始终在后台运行单例实例(不同线程)

标签 ios objective-c multithreading core-data singleton

我有一个管理整个 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/

相关文章:

iphone - 如何在表格 View 上添加按钮作为附件?

c# - Rest api 中的 Thread.sleep 与 Task.delay

iOS VIPER : How protocol helps in Unit Testing?

java - 如何在不同的应用程序级别锁定文件?

Python 线程队列与多处理管道

ios - UIKeyboardAppearance 损坏 : showing both styles at once

ios - 设计器太小怎么给ScrollView添加元素?

ios - 每次单击选项卡栏项目时如何刷新 View ?

ios - 如何在 XCode 中将字符串从一个单元测试传递到另一个单元测试?

objective-c - 异常解析 NSDictionary 内的 NSDictionary