我正在创建一个Core Data项目。我看了很多教程和阅读文档。我可以创建NSManagedObject
,NSManagedObjectContext
和NSFetchRequest
没问题。我想确保以正确的方式创建项目:
我的应用会列出最喜欢的足球和篮球运动员;
我创建了3个实体;
PlayersList
实体 - 此处没有属性。因为我想使用足球和篮球实体属性Football
实体 - attributes = PlayerName
Basketball
实体 - attributes = basketPlayerName
我向很多人PlayerList
和{c} {}} Football
football
单身关系添加了PlayerList
关系。 PlayerList
对多人Basketball
和basketball
到PlayerList
单一关系。并将它们设置为反转。
我的NSSet
中有一个PlayersList
。我应该用这个吗?
我有PlayersListTableViewController
。我可以获取Football
实体并列出我的tableview或Basketball
实体。但我无法获取PlayersList
实体,因为它没有任何属性。主要问题是:
如何列出PlayersListTableViewController
中的所有播放器名称?
如何使用1个超级实体中的2个实体属性?例如footPlayerName
和basketPlayerName
。
答案 0 :(得分:0)
如果您不想添加任何属性,则不清楚为什么您拥有PlayersList
实体。它应该是Team
实体,teamName
,或PlayersList
应该有purpose
或类似的东西。
此外,为不同类型的玩家提供多个实体是过度的。您应该拥有一个Player
实体,其中type
属性是根据不同类型的播放器设置的。然后在获取谓词中使用type
。
现在您只需获取Player
实体并指定相应的type
。如果您没有指定type
谓词,那么将返回所有Player
(如果它们看起来不同,您可以使用type
显示为足球/篮球。)< / p>
根据您更新的评论,您无法以一套方式完成所需的一切。
如果您想要一个包含多个实体类型的列表,那么获取的结果控制器并不是一个不错的选择。您可以使用2个FRC并管理表中的不同部分(修改部分编号),但通常会执行2次获取请求并将结果合并到单个数组中更容易。