【发布时间】:2012-12-12 00:35:44
【问题描述】:
我有一个关于将数据存储在 SQLite 中的应用程序的问题。使用 FMDB 包装器读取数据,如果服务器端数据库发生更改,则必须对用户透明地进行更新。
为了实现这一点,每当下载新数据库时,我都会将我的单例中的整个 FMDatabase 对象替换为一个新对象。
但是,如果用户当前正在滚动表格视图,则查询会在瞬间失败。
那么问题来了,如何在保留当前队列的同时替换当前打开的.sqlite文件?
编辑:查询经常针对数据库运行,例如在滚动视图时有 count()s,因此没有简单的方法可以暂时“阻止”用户与数据库交互。
【问题讨论】:
-
你在使用
FMDatabaseQueue吗?还是您自己管理队列?
标签: iphone objective-c ios sqlite fmdb