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