對於我的應用程序,我想到了兩種不同的數據模型,但我無法看到哪一個在性能和文件大小上都是最好的。在我的應用程序中,我必須存儲食譜,它將包含一個含有成分的數組,一個帶有說明的數組,一個包含提示和一些屬性的數組以選擇一些食譜(例如評級,菜類型)。關於數據模型的思考
我想到了兩種不同的模型。第一種方法是將數組轉換爲NSData並將它們全部存儲在Core Data模型中。由於數組是本地化的,這意味着在那裏會有多個相同類型的數組(例如instructionsEN,instructionsFR,instructionsNL)。由於不需要查詢數組,我很高興我必須將數組轉換爲NSData。
另一個模型將是一個核心數據,它只包含過濾配方的屬性,以及存儲在主包或文檔目錄中的.plist文件的標識符(因爲其中一些文件將被創建由我們和一些由用戶創建)。這.plist文件將包含所有說明,成分等。同樣,對於不同的本地化,也有多個相同種類的數組。
我希望你能幫助我做出決定,哪些選項在性能和磁盤空間方面最好。如果您能想出不同的解決方案,我也會很感激。
所以我應該創建一個食譜實體,它與一個Ingredients實體(它又與Component實體有關係)和一個Instructions實體都有一對多的關係。然後所有這些實體都包含本地化數據的屬性。 – thvanarkel 2012-02-29 20:46:48
這就是我如何攻擊它,至少要開始。如果您需要提高性能或簡化性,它可爲您提供一些重構靈活性。你可以避免爲了找到「高星級食譜」而錯過所有的指示。 – 2012-02-29 21:00:31