Iphone FMB数据库与NSO操作

Iphone FMB数据库与NSO操作,iphone,fmdb,Iphone,Fmdb,我正在为基于sqlite的iphone应用程序使用FMDatabase。问题在于,应用程序正在从web服务获取大量数据,并将其插入本地sqlite数据库,而该数据库正在阻塞UI[主线程]。此外,我们不能在后台线程中运行sqlite相关命令。我们可以在这里使用NSO操作吗?任何示例???您应该能够在后台运行SQLite操作,只要您只在该线程内运行它们,而不是从主线程或任何其他线程运行它们 您可以使用NSOperationQueue来处理此问题,将最大并发操作数设置为1,以确保一次只向SQLite写

我正在为基于sqlite的iphone应用程序使用FMDatabase。问题在于,应用程序正在从web服务获取大量数据,并将其插入本地sqlite数据库,而该数据库正在阻塞UI[主线程]。此外,我们不能在后台线程中运行sqlite相关命令。我们可以在这里使用NSO操作吗?任何示例???

您应该能够在后台运行SQLite操作,只要您只在该线程内运行它们,而不是从主线程或任何其他线程运行它们

您可以使用NSOperationQueue来处理此问题,将最大并发操作数设置为1,以确保一次只向SQLite写入一个操作,然后调用NSInvocationOperations来保存数据

NSInvocationOperation * invocation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(writeThisToDB) object:thisObject];

[operationQueue addOperation:invocation];