2014-03-29 215 views
0

我只问一个模型没有代码,或者如何将它们添加到列表或什么是正确的代码。我学会了如何给实体添加属性并获取它们。我只需要如何做主列表将包含我所有的实体和属性。当我想向我展示所有实体中最喜欢的玩家时,它应该向我展示它们。什么是创建CoreData模型设计的最佳方式?

我为我的基于数据的项目创建了一个数据模型。我应该解释我的项目。

我想创建一个联赛表视图这是包含我的所有团队和用户可以在此leauge的tableview在加入团队加入团队视图 - 控制。

我创建了两个实体第一实体名称为,第二个实体名称FavoritePlayer

我的联赛表格视图应该显示所有用户在单元格文本中添加队伍并在单元格详细信息文本中显示最喜欢的球员我如何使用CoreData来做到这一点。我想学习CoreData,所以不想用数组或字典来做到这一点。

我应该创建一个名称为联盟的实体吗?如果是,我怎样才能做到这一点没有属性? 或我应该使用父实体选项。

其实创建datamodel的正确方法是什么?

谢谢!

--------------------- UPDATED QUESTION ----------------------- -

首先非常感谢stevesliva。

我有我的项目解释你轻松地回答我。

我想打一个简单的用户输入数据库。我的项目将包含;

1- MainList实体,它是我的应用程序中的主要实体和第一个场景。 MainList实体没有任何属性。它将显示所有实体属性。它是TableViewController和1 bar按钮去addList。

AddList是一个tableview控制器。它有2静态单元格标题是帐单和银行贷款。有2个单元格转到这些项目AddViewControllers。

2-I创建了BankLoan和Bill实体。他们有属性.String和Number。 Bankloan有bankName和loanTotal Bill有billName和billTotal

他们有AddViewControllers将这些数据添加到他们的实体。

CoreData Model;

MainList与bankLoan和Bill有两对多的有序关系 bankloan和bill 1与MainList实体的一对一关系,当然也是相反的。我从Xcode编辑器菜单创建了2个自定义NSManagedObject类。

MainList自定义类有2个NSOrderedSet。

@property (nonatomic, retain) NSOrderedSet *bills; 
@property (nonatomic, retain) NSOrderedSet *bankLoans; 

现在也有自己的问题;

1-I can not Fetch managedObjectContext all Entity items。我可以只提取空的mainList实体。我不能创建一个FetchResultsController,因为fetchResultsController需要一个sortDescriptor。我不能创建排序描述符,因为我没有MainList中的任何属性。这是第一个问题。

2-如果我添加所有属性NSOrderedSet我怎样才能取DATAS与SQLLite codes.exp:LIKE,[C]> ==或< == codes.I倾斜而不属性创建Fetchresultscontroller。当我只想显示账单开始与“某事”。我无法做..

什么是使用核心数据创建此项目的最佳方式?

你会在这种情况下做什么?

感谢您的关注和所有答案。你对我非常有帮助。

+0

可以想象**单身**可能与你有关。如果你刚刚接触到工程学,那么首先要处理你的技能组,感谢你的评论 – Fattie

+0

。我会研究单身人士,但你能告诉我一个想法可以做到这一点吗?因为单身是一个巨大的概念,我不能在短时间内学习它。 – leonthegosu

+0

请有人帮我做这个? – leonthegosu

回答

0

创建一个团队实体。
创建一个玩家实体。

如果你想要一个联盟实体,它将与团队有多对多的关系。从一支球队到另一支球队的一对一。联赛不会成为球队的“父母”,因为球队不会联盟。如果你想跟踪核心数据中的联赛,你应该创建一个联盟实体。如果你不想让联赛具有任何属性,那么他们只能与球队建立关系,但是你不会将任何其他信息(如联赛名称)存储到持久存储区。

从团队到玩家创建一对多的关系。
从玩家到团队建立关系。

为要与每个实体关联的信息创建属性。

这是创建数据模型的方法。

然后,创建UITableViewController的子类。让它成为你的UITableView实例的委托和数据源。让它实现你需要的功能,从中获取和修改管理的对象上下文。

另外,你可以让UITableViewController的子类使用一个singleton teamManager或者playerManager或者,不管。这里是关于单身人士“经理:”的博客文章: http://www.galloway.me.uk/tutorials/singleton-classes/

我相信你会回答你所有的问题。

哦。除了“为什么人们不想回答我”。

  1. 目前尚不清楚你的问题是什么。目前尚不清楚您是否只有询问哪种数据模型最适合,如果您是,则不清楚您不了解的内容。我们需要一些已知的未知数。

  2. 堆栈溢出很适合回答特定问题。这不是一个按需教程的地方。核心数据到表格查看教程可能有数十个。你应该先阅读那些。

+0

谢谢你的回答对我来说非常有用。我用你的答案创建了一个数据模型。但我想知道是否可以从联盟实体获取所有实体属性(如团队名称和玩家名称)?因为我想将它们全部列在我的主桌面控制器中。有我的模型http://postimg.org/image/whb2y0d2z /再次感谢您的关注... – leonthegosu

+0

一旦您获得了一个单一的联盟实体,玩家关系就是一个NSSet。没有什么你需要去取。这只是NSSet * playerSet = myLeague.players。但是如果你想在表格中显示,你可能想要订购关系。因此,请检查一对多关系玩家中的“已排序”,然后您将获得myLeague.players的NSOrderedSet。然后你可以按行或其他方式使用索引。你可以使用获取来获得所有联赛,或所有球员,无论联盟,还是所有比特定年龄更早的球员...... – stevesliva

+0

我不能让联盟实体。我遵循你的指示,我coreData在我的Teams.h文件中创建了NSOrderedSet,并且我将这段代码写到了我的SaveButton方法'[_addTeamToLeague.League setValue:_teamname.text forKey:@“teamName”];'我从团队中调用NSOrdered集文件到我的tableview与objectAtIndex。它返回0索引。哪里不对 ?谢谢 ! – leonthegosu

相关问题