2011-06-04 11 views
1

當您應該從內存中將對象切換到像iPhone/iPad上的Core Data/Sqlite這樣的數據庫中時,是否有一個很好的經驗法則?關於何時將對象存儲在Db中的經驗法則

我聽說過(我認爲它是在Big Nerd Ranch,書中)10.000簡單的對象完全沒有問題可以保存和存儲在iPhone 3GS上的Document目錄。但是,我猜如果對象之間有更復雜的關聯關係,則更容易將它們存儲在Core Data中。

什麼是你的經驗,數據庫還是數據庫?

回答

1

看到這個previous answer to a similar question.

簡短的摘要:

  1. 當數據集相對較小,低複雜度,可以使用寫入到磁盤的plist集合(的NSArray,NSDictionary的,NSSet中)。
  2. 當數據集非常大但複雜度低時一個庫卡文件,其中所有的卡完全相同並且彼此無關,那麼原始SQL可以是一個很好的解決方案。
  3. 當複雜度高時,即許多不同類型的對象都彼此相關時,請使用核心數據,而不考慮數據大小。

但是,一旦您成功攀登Core Data的學習曲線,它變得非常容易使用,以至於您一直默認使用它。我現在自動使用它,即使是我曾經使用過陣列的東西。

如果您打算編寫Apple API應用程序,那麼花好幾周或者兩週的時間來學習Core Data會非常有用。它不僅僅是一個持久性API,它是一個用於創建和使用Apple API使用的模型 - 視圖 - 控制器設計的整個模型層的API,

(順便說一句,我很漂亮的大Nerd牧場的建議基於plist的持久性應用於MacOS,iOS設備的內存和CPU約束更加緊密,另外,iOS設備使用閃存驅動器,因此對於磁盤操作的損失遠遠低於使用機械硬盤驅動器的臺式機等設備。)

1

easiest存儲方法開始,可能是plist或plain文件。如果(如果)您確實發現了性能或數據完整性方面的問題,請切換到更強大的解決方案。

相關問題