2010-12-19 105 views
0

我有兩個關於核心數據的基本問題;核心數據 - 管理對象問題

  1. 究竟是一個託管對象 - 它是否等同於一個類的一個實例。例如,如果有一個稱爲Shape的實體具有顏色邊數爲&的屬性,並且如果表中顯示了5個條目,是否意味着有5個管理對象,每個對象的屬性號爲。雙方&顏色。我對這個基本概念有點困惑。

  2. 抓取結果控制器(FRC)和表視圖之間的關係究竟是什麼?我知道委託方法,但表格視圖究竟是如何影響FRC的?

任何基本的例子都會非常有用。謝謝。第一季度銷售價格指數爲

回答

0

Q1。託管對象是應用程序持久保存的某個實體的表示。它只是一個遠離實際持久類型的泛型抽象。所以你說得對,託管對象將具有與具體類型相同的鍵/屬性。由於NSManagedbject類實現鍵 - 值編碼模式在運行時可以查詢它的鍵/值...

- (id)valueForKey:(NSString *)key 

有關NSManagedObject完整文檔見here

Q2。獲取的結果控制器是你的UIViewController對你的UIView的。它包含控制表視圖的持久性的邏輯。它的唯一目的是保持數據庫處理邏輯脫離你的UITableView。它通過允許您定義要在UITableView的上下文中執行的行爲來實現。我的意思是,它的代表提供了具有明確暗示對UITableView有影響的簽名的方法。第一季度銷售價格指數爲

+0

請您用簡單的術語解釋一下。我不是一個非常先進的Obj-C用戶。 – hmthur 2010-12-19 18:23:45

+1

每當您從持久性存儲中提取「實體」時,都需要訪問其屬性。 NSManagedObject只是單個「實體」數據的包裝。它允許您通過valueForKey:和setValue:forKey:來訪問它的屬性。 我發現很容易將NSManagedObjects想象成一種在當前獲取的實體上被屏蔽的接口,它允許我像使用「普通」對象一樣處理它們。 – mackross 2010-12-20 06:06:30

0

Q1。是的,有5個託管對象可供您使用。如果你願意,你可以把所有五個放在一個數組中。被管理對象只是一個術語,意思是你有代碼來管理數據庫中的插入,更改和刪除操作 - 換句話說,一些代碼管理整個生命週期。您通過FRC獲取它,FRC ^從數據庫中提取對象的^實例,並允許您的代碼控制^ result ^發生了什麼。由此得名。