1

SQLite3 データベースのラッパーとしてFMDatabase (シングルトンにサブクラス化) を使用しています。必要に応じて無線でデータベースを更新する機能をアプリに書き込もうとしています。更新後、 を設定databaseSingleton = nilし、アクセサーを再度呼び出して、新しい DB で新しいシングルトンを作成します。何らかの理由で、これにより奇妙な動作が発生します。たとえば、呼び出す[FMDatabase open]とTRUEが返されますが、クエリを実行しようとすると失敗[FMDatabase databaseExists]し、DBが開いていないことがログに記録されます。これは基本的に、データベース ポインタが同時に満たすことを意味しますif (db)if (!db). オブジェクトをコンソールに記録しようとしましたが、アクセス エラーがスローされ、実際には存在しないと思われます。誰がこれをしているのか考えられますか? さらに重要なことに、これら 2 つの条件が真である可能性さえあるのはなぜでしょうか?

4

0 に答える 0