我有2個實體。一個描述了TableView的部分(一個月它的名字等)。這個實體與另一個應該描述TableView行的實體的一對多關係有關。NSFetchResultController:使用提取的實體及其相關實體填充TableView
我有點困惑如何通過NSFetchedResultController獲取這些實體。就目前而言,我只能在當時取得一個關係。那麼我應該選擇哪一個來正確填表?
我有2個實體。一個描述了TableView的部分(一個月它的名字等)。這個實體與另一個應該描述TableView行的實體的一對多關係有關。NSFetchResultController:使用提取的實體及其相關實體填充TableView
我有點困惑如何通過NSFetchedResultController獲取這些實體。就目前而言,我只能在當時取得一個關係。那麼我應該選擇哪一個來正確填表?
如果您使用的是NSFetchedResultsController
,您可以在表格視圖中獲取要顯示的對象。
要獲取部分,請使用NSFetchedResultsController
的sectionNameKeyPath
屬性指示如何從其中一個獲取的對象中找到部分名稱。這個關鍵路徑是您可以通過valueForKeyPath:
傳遞給其中一個獲取對象的部分,以獲取部分名稱。在你的情況下,它需要遍歷一個關係到月份實體(或者它真正的名稱)。例如,如果關係被稱爲month
,並且Month實體具有name
屬性,則在創建抓取結果控制器時,您會傳遞類似@"month.name"
的參數作爲sectionNameKeyPath
參數。
您也可以使用卓越的Sensible TableView框架自動獲取Core Data對象並將它們顯示在表格視圖中。該框架還將檢測實體是否有任何關係,並將自動管理它們之間的詳細視圖控制器。
不知道我是否得到它。我的實體是一個Month實體和一個Entry實體。 Month實體涉及Entry實體,它應該填充TableView的行。月份實體應填寫節標題。 我應該改變我的對象模型還是可以像我打算做的那樣工作......? – arnoapp 2013-03-22 18:38:23
您的Entry實體是否與月份有關係?如果不是,那真的,真的應該。如果它**與**具有關係,則使用該關係名稱作爲關鍵路徑的一部分。 – 2013-03-22 18:41:48
它有一個背部關係。所以我應該從字面上取得入境實體?但是,我不確定如何將實體分成幾個部分。好的,我可以用sectionNamekEyPath來做嗎? – arnoapp 2013-03-22 18:46:15