1

我正在使用FMDatabase(子类为单例)作为 SQLite3 数据库的包装器。我正在尝试在我的应用程序中编写一个功能,如有必要,可以通过无线方式更新数据库。更新后我设置databaseSingleton = nil,然后再次调用访问器以使用新数据库创建一个新的单例。由于某种原因,这会导致一些奇怪的行为。例如,如果我调用[FMDatabase open]它返回 TRUE,但是当我尝试查询它失败[FMDatabase databaseExists]并记录数据库未打开时。这实质上意味着数据库指针同时满足if (db)if (!db). 我尝试将对象记录到控制台,但它引发了访问错误,这让我相信它实际上并不存在。谁能想到可以这样做吗?或者更重要的是,这两个条件怎么可能为真?

4

0 回答 0