2009-08-19 7 views
0

iPhone用にsqlite3を使用する方法を理解するために 'SQLiteBooks'サンプルを使用していますが、直後にデータベースへの接続を終了する必要があるのでしょうか?あなたがdbと話す必要があるたびに、またはアプリケーションの開始時に接続を開いたままにして、「appWillTerminate」を閉じる必要があるたびに、クエリを実行して再オープンしますか?アプリ内で複数回DB接続を再開することに伴う費用はいくらですか?アプリケーションの存続期間中にsqlite3の接続と保持

また、このサンプルでは、​​sqlite3オブジェクト(別名「データベース」)への参照が渡されていますが、参照カウントはありません。これは適切なパターンですか?

+0

OS 2.xを対象としていない限り、コアデータを使用しない理由はほとんどありません。効率的な接続管理を行い、メモリと電力を節約するために最適化されています。 – bbum

答えて

0

答えは主に、構築しているアプリケーションの種類によって異なります。データベースへのアクセスが随時しかない場合は、必要に応じて開閉することができますが、アプリケーションの内容が完全にデータベース駆動されているため、アプリケーションがDBを頻繁に使用する場合は、アプリケーションの起動時にDB接続を開き、終了時に接続を閉じます。

私の最後のアプリケーションでは、必要に応じてDB接続をポインタとして渡し、その後、元々DBを開いたクラス(AppDelegateのコンポジット)がすべてのクエリを処理するクラスになるようにアーキテクチャを変更しましたDBからの応答。うまく働き、維持するのは簡単です、私には、勝利と同等です。

関連する問題