2012-10-17 62 views
0

我在我的應用程序中使用了核心日期。我搜索了核心數據函數。我學會了從核心數據中添加和獲取數據。但我想靜態添加我的數據。因此我想要將數據添加到核心數據(不是代碼中它們是默認數據),並在應用程序委託中使用它們。但我無法手動添加數據。那麼有沒有人可以幫助我?謝謝。如何將靜態數據添加到核心數據?

+0

核心數據的目的是對象持久性,而不是通用數據存儲。它可以選擇使用數據庫,但它並不真正提供與數據庫相同的功能。 –

+0

我知道。在我的項目中,我使用了更多的核心數據函數。但是我需要在其中添加默認值以啓動項目。我必須在覈心數據中執行此操作。 – yatanadam

+2

您不必在CoreData中這樣做(除非這是某種開發標準或在某種合約中指定)。 PList將爲你想要做的事情工作得很好。另一個觀察 - 你尋求幫助,並得到它。當比你更有經驗的人試圖讓你更好地瞭解更好的做事方式時,審慎的人會聽取建議。 –

回答

0

您可以隨時檢查CoreData實體中是否存在對象,如果爲空,請將對象添加到該實體(這可以防止重複)。話雖如此,如果您正在討論在您的應用中使用靜態數據,爲什麼不使用PListCoreData對於這種情況確實是過分的。

順便說一句 - 如果你還沒有使用MagicalRecord(一個CoreData幫助器類),你應該檢查出來。它使得使用CD更容易IMO。

+0

我在我的項目中使用核心數據。 (用戶登錄後)。它對我來說非常有用,但是我想爲它的開始保存default的價值。而且這種方法不是那麼好,我想。你知道更好嗎? – yatanadam

+0

僅僅因爲您在項目中使用CD並不意味着它必須用於存儲所有內容。就像我說的,在你描述的場景中,使用PList或NSUserDefaults(如果這是少量數據)將比使用等價的自動化倉庫來存儲單個儲蓄債券更好。 –

0

CoreData本身沒有提供預先打包任何數據的方式,因爲它是提前發送的應用程序。您必須以另一種格式打包它,運送應用程序,然後在首次啓動時將其全部複製到核心數據中。例如,您可以在您的開發計算機上創建一個.plist文件,將其讀入NSDictionary,然後填充CoreData存儲。或者,如果您可以從所有額外結構中受益,那麼您也可以在本土SQLite商店中進行同樣的操作。如果你真的很想勇敢,你甚至可以從Web服務中獲取數據。天空纔是極限!

最後,您可能會考慮向Apple提交功能請求。在這樣的情況下,您的請求充當請願書的簽名,爲成千上萬的其他開發者提供了相似的功能。

+0

感謝psoft。那麼sqlite呢?我可以保存這些數據嗎? – yatanadam

+0

就像CoreData一樣,用於存儲靜態值的sqlite不是一個好用例。 –

+0

@yatanadam:是的 - 它在我的答案中。只需創建你的應用程序的sqlite文件和包。閱讀參考資源編程指南https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/Introduction/Introduction.html#//apple_ref/doc/uid/10000051i – QED

相關問題