2010-07-28 109 views
11

我無法理解Core Data如何在概念上和代碼方面工作。核心數據入門

我得知有一個協調員和一個上下文。我也知道有國家管理。他們如何一起工作?

我不明白我如何可以存儲圖像和一些字符串作爲對象。

比方說,我想稍後檢索圖像和字符串。我該怎麼辦?

我在哪裏可以保存我的狀態?怎麼樣?

我的代碼是什麼樣的?我真的很感謝這裏的一個簡單的代碼示例,因爲我很困惑。

回答

25

這些都是一些最好的教程我發現:

至於你的問題:

我得到,有一個協調員和 上下文。我還得到,有 州管理。他們如何一起工作 ?

持久性存儲協調器是管理數據實際存儲的位置,是SQLlite數據庫或XML文件或其他。協調器是抽象的,因此您不必擔心後端的存儲類型。

託管對象上下文是您如何與持久存儲協調器交互的方式。把它看作你的便箋本。您可以從託管對象上下文創建和修改託管對象。

我不明白我如何可以存儲圖像和一些字符串作爲對象。 假設我想稍後檢索圖像和字符串。我該怎麼辦?

如果你看看上面的一些教程,你會看到如何從託管對象上下文中拉出對象。一的NSString會簡單地存儲爲一個字符串屬性的管理對象,就像這樣:

[managedObject setValue:@"TestString" forKey:@"SomeStringProperty"]; 

我不太肯定圖像作爲我從來沒有存儲的圖像核心數據之前。我知道任何可以序列化的東西都可以存儲爲可轉換屬性。 Here's a post about storing UIImages in Core Data

我在哪裏可以保存我的狀態?怎麼樣?

您只需在託管對象上下文中調用「save」方法即可。像這樣:

[context save:&error] 
+2

你可以存儲在覈心數據的NSData對象,所以要保存圖像,得到它的數據(可能使用UIImagePNGRepresentation())和存儲。要檢索圖像,從Core Data獲取NSData對象,然後使用UIImage的+ imageWithData方法獲取UIImage。 – 2010-07-28 22:40:07

+0

啊... Ray Wenderlich - 他有一個很好的網站。 – Moshe 2010-07-30 19:32:52

+0

在撰寫此評論時,您鏈接的第二個教程將返回錯誤400錯誤請求。 – BinaryMisfit 2011-10-20 17:42:15