2010-08-07 97 views
0

我對SQLite有一些疑問...我的應用程序只使用一個表(封裝在數據邏輯類中)來存儲小數據,連接打開在didFinishLaunchingWithOptions並在applicationWillTerminate中完成(是的,我知道在iOS4中applicationWillTerminate只有在必要時才由iSO調用,但我在每次數據更改時都在數據庫上寫入)。iPhone和SQLite:如何處理多個類的數據庫連接?

現在我必須添加第二個表(和相對類),它將存儲不同的數據(兩個表之間沒有連接)和正常大小(每天大約1-2行)。

我想過應用單例模式來共享連接和語句,但是我爲了性能原因閱讀它,建議使用類本地變量來保存連接。

那麼最佳做法是什麼?單身還是兩個打開的連接? 對於我的情況,你會推薦什麼解決方案?

謝謝

+0

對於這樣一個簡單的數據庫,手工編寫SQLite代碼是完全浪費時間。使用CoreData。簡單得多,很可能快得多,而且維護和發展容易得多。 – bbum 2010-08-07 18:50:29

+0

請添加爲答案。 – 2010-08-07 20:08:06

回答

1

對於這樣一個簡單的用法,@Eiko提到的一個單例可能是正確的答案。

但是,這一切都提出了一個問題:爲什麼你不使用核心數據?

正確使用SQLite實際上非常困難,我看到許多非常有才華/有經驗的工程師在沒有意識到的情況下完全錯誤地認爲它是錯誤的。更糟糕的是,擴展現有的實現更加困難。增加併發性實際上是確實硬直接SQLite(和核心數據工程師已經花費了大量的精力和應用大量的專業知識來正確支持SQLite的頂部併發)。

對於如此簡單的使用,Core Data不會很難學習,它會爲您提供一個更堅實和多功能的代碼庫。

2

存儲在同一個數據庫中的單身我。

少量數據不應該在短時間內成爲性能瓶頸。

或者,當然,與CoreData一起。 :-)