2014-04-02 91 views
0

我正在創建一個核心數據項目。我看過很多教程和閱讀文檔。我可以創建一個NSManagedObject,NSManagedObjectContextNSFetchRequest沒問題。我想確保我以正確的方式創建我的項目,儘管如此:CoreData模型超級實體無屬性

我的應用程序將列出最喜歡的足球和籃球運動員;

我創建了3個實體;

  1. - PlayersList實體 - 這裏沒有屬性。因爲我想用足球和籃球的實體屬性
  2. - Football實體 - 屬性= PlayerName
  3. - Basketball實體 - 屬性= basketPlayerName

enter image description here

我加關係PlayerList到許多以Football s和ofc footballPlayerList單一關係。 PlayerList to Many至Basketball s和basketballPlayerList單一關係。並將它們設置爲反向。

我在我的PlayersList中有。我應該使用這個嗎?我有一個PlayersListTableViewController。我可以獲取Football實體並列出我的tableview或Basketball實體。但我不能獲取PlayersList實體,因爲它沒有任何屬性。主要問題是:

如何在我的PlayersListTableViewController中列出所有玩家名稱?

如何從1個超級實體中使用2個實體屬性?如footPlayerNamebasketPlayerName

+0

圖片描繪了千言萬語......鏈接到您的數據模型的圖片。 – Wain

+0

http://s13.postimg.org/c8f48sj6f/image.jpg這裏有我的數據模型。如果我做這個單人球員實體,我怎麼知道哪一個是籃球或哪一個是足球?我怎麼能從另一個控制器列出這些數據到只有足球運動員?而它的一個簡單的概念,我將添加像footballerAge或footballerFoot另一個屬性。如果我做那個單一的玩家實體,它包含太多的屬性。我只想顯示來自1個tableviewcontroleler的所有屬性。 – leonthegosu

+0

如果我沒有創建一個PlayerList實體,我如何從我的tableview列出另一個實體屬性。我可以通過我的fetchResultsController獲取並列出Football實體屬性,這樣我就不能獲取籃球實體屬性。因爲我獲取了Football實體。 – leonthegosu

回答

0

不清楚爲什麼你有一個PlayersList實體,如果你不打算添加任何屬性。要麼它應該是一個Team實體與teamName,或PlayersList應該有一個purpose或類似的東西。

此外,針對不同類型的玩家擁有多個實體是過度的。您應該有一個Player實體,並且您根據不同類型的玩家設置了type屬性。然後在您的獲取謂詞中使用type

現在您只需獲取Player實體並指定相應的type。如果您沒有指定type謂詞,則將返回所有Player(如果外觀不同,您可以使用type作爲足球/籃球顯示)。


從您的更新評論,你不能做任何你想要的一切設置的方式。

如果您想要多個實體類型的單個列表,那麼獲取的結果控制器不是一個好選擇。您可以使用2個FRC並管理表上的不同部分(修改部分編號),但通常執行2個提取請求並將結果合併到單個數組中更容易。

+0

嗯。首先。謝謝你的答案,並編輯我的問題。請考慮這個項目。我想列出所有車輛。用戶將添加汽車和自行車與他們的名字。我想用我的TableViewController列出它們。用戶可以看到他的汽車和自行車,如果他願意,可以看細節或添加細節。如果你想創建這個項目,你會做什麼?你會創建一個車輛實體嗎?如果沒有。你怎麼能從你的TableViewController中列出這兩個不同的實體?再一次非常感謝你。 – leonthegosu

+0

這取決於總體要求和潛在實體之間的差異。通常多個實體將工作,不會顯示爲單個列表,而是顯示在分類列表中(對用戶而言是合乎邏輯的),因此您不需要按照討論的方式進行組合。 – Wain

+0

嗯。那麼你能舉一個車輛項目的例子嗎? – leonthegosu

相關問題