gpt4 book ai didi

ios - 使用 FMDB 在后台线程上执行数据库操作

转载 作者:行者123 更新时间:2023-12-02 04:36:58 27 4
gpt4 key购买 nike

我正在 iOS (obj-c) 项目中使用本地 SQLITE 数据库,我们选择使用 FMDB 。请注意,我对更改为 Core Data 或从 FMDB 切换到其他库不感兴趣。

一切正常,但是当我们第一次运行应用程序时,数据会从我们的服务器下载,json会被解析,然后排序到本地数据库中。由于传入的信息量很大,这需要 30 - 40 秒的时间。理想情况下,这将在后台完成,但 FMDB 不允许这样做(至少据我所知),因为它可能会导致数据库数据完整性问题。

是否有人成功使用 FMDB 库在后台线程上运行所有查询、插入等?我尝试过简单地将操作包装在:

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// ... query/insert/update/delete
});

...但我最终遇到了数据库完整性问题。任何提示或例子都会很棒。提前致谢。

最佳答案

@nawar - 抱歉没有早点发布此内容。我最终在dispatch_async block 中使用了FMDatabaseQueue的单个实例(而不是FMDatabase)。奇迹般有效。我遇到的问题是由于使用 FMDatabase 造成的。

关于ios - 使用 FMDB 在后台线程上执行数据库操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27848044/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com