我有一个关于在SQLite中存储数据的应用程序的问题。使用FMDB包装器读取数据,并且必须在服务器端数据库更改时透明地更新给用户。如何替换当前打开的FMDB数据库保留当前队列?
为了实现这个目标,每当下载一个新的数据库时,我将用一个新的对象代替我的单例中的整个FMDatabase
对象。
但是,对于一瞬间查询将失败,例如,如果用户当前正在滚动表视图。
所以问题是,如何在保留当前队列的同时替换当前打开的.sqlite
文件?
编辑:查询是经常对数据库运行的,例如当滚动视图时有count()s,所以没有简单的方法来阻止用户与数据库交互一段时间。
您是否在使用'FMDatabaseQueue'?还是你自己管理队列? –