没有属性的核心数据模型超实体

时间:2014-04-02 11:15:15

标签: ios objective-c database core-data singleton

我正在创建一个Core Data项目。我看了很多教程和阅读文档。我可以创建NSManagedObjectNSManagedObjectContextNSFetchRequest没问题。我想确保以正确的方式创建项目:

我的应用会列出最喜欢的足球和篮球运动员;

我创建了3个实体;

  1. - PlayersList实体 - 此处没有属性。因为我想使用足球和篮球实体属性
  2. - Football实体 - attributes = PlayerName
  3. - Basketball实体 - attributes = basketPlayerName
  4. enter image description here

    我向很多人PlayerList和{c} {}} Football football单身关系添加了PlayerList关系。 PlayerList对多人BasketballbasketballPlayerList单一关系。并将它们设置为反转。

    我的NSSet中有一个PlayersList。我应该用这个吗?

    我有PlayersListTableViewController。我可以获取Football实体并列出我的tableview或Basketball实体。但我无法获取PlayersList实体,因为它没有任何属性。主要问题是:

    如何列出PlayersListTableViewController中的所有播放器名称?

    如何使用1个超级实体中的2个实体属性?例如footPlayerNamebasketPlayerName

1 个答案:

答案 0 :(得分:0)

如果您不想添加任何属性,则不清楚为什么您拥有PlayersList实体。它应该是Team实体,teamName,或PlayersList应该有purpose或类似的东西。

此外,为不同类型的玩家提供多个实体是过度的。您应该拥有一个Player实体,其中type属性是根据不同类型的播放器设置的。然后在获取谓词中使用type

现在您只需获取Player实体并指定相应的type。如果您没有指定type谓词,那么将返回所有Player(如果它们看起来不同,您可以使用type显示为足球/篮球。)< / p>


根据您更新的评论,您无法以一套方式完成所需的一切。

如果您想要一个包含多个实体类型的列表,那么获取的结果控制器并不是一个不错的选择。您可以使用2个FRC并管理表中的不同部分(修改部分编号),但通常会执行2次获取请求并将结果合并到单个数组中更容易。