创建核心数据模型设计的最佳方法是什么?

时间:2014-03-29 10:41:15

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

我只问一个模型不是代码,或者我如何将它们添加到列表或什么是正确的代码。我学会了如何向实体添加属性并获取它们。我只需要如何做主列表,其中包含我的所有实体和属性。当我想向我展示所有实体中最喜欢的玩家时,它应该为我显示所有这些......

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

我想创建一个联盟表格视图,其中包含我的所有团队,用户可以在添加团队视图控制器

中的这个leauge tableview中添加团队。

我创建了两个实体第一个实体名称是团队,第二个实体名称是 FavoritePlayer

我的联盟表视图应显示所有用户在单元格文本中添加的团队和单元格详细文本中的收藏播放器如何使用 CoreData 我想学习CoreData所以并且不要我希望用Arrays或Dicts做到这一点。

我应该创建另一个名为Leagues的实体吗?如果是,我怎么能没有属性这样做? 或者我应该使用父实体选项。

实际上创建数据模型的正确方法是什么?

谢谢!

---------------------更新的问题------------------------

首先非常感谢stevesliva。

我必须向你解释我的项目,以便轻松回答我。

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

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

AddList是一个tableview控制器。它有2个静态单元格标题是Bills和Bank Loans。有2个单元格用于转到这些项目AddViewControllers。

2 - 我创建了BankLoan和Bill Entity。它们有attributes.String和Number。 Bankloan有bankName和loanTotal Bill有billName和billTotal

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

CoreData Model;

MainList与bankLoan和Bill有两对多的有序关系 bankloan和bill 1 To与MainList实体的一种关系,当然还有逆。我从Xcode Editor菜单创建了2个Custom NSManagedObject类。

MainList自定义类有2个NSOrderedSet。

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

现在有我的问题;

1 - 我无法获取managedObjectContext所有实体项。我只能获取空主列实体。并且我无法创建FetchResultsController,因为fetchResultsController需要sortDescriptor。我不能创建排序描述符,因为我在MainList中没有任何属性。这是第一个问题。

2-如果我将所有属性添加到NSOrderedSet如何使用SQLLite codes.exp获取数据:LIKE,[c]> ==或< == codes.I无法创建没有属性的Fetchresultscontroller。当我想只显示账单时,BeginsWith"某事"。我不能这样做..

使用Core数据创建此项目的最佳方法是什么?

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

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

1 个答案:

答案 0 :(得分:0)

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

如果你想要一个联盟实体,它将与团队有很多关系。从球队到联赛的一对一。联盟不会是父母"团队,因为团队不是联盟的子类。如果要跟踪核心数据中的联赛,您应该创建一个联盟实体。如果你不想让联盟拥有任何属性,那么他们可以与团队建立关系,但是你不会将任何其他信息(如联盟名称)保存到持久性商店。 / p>

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

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

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

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

或者,您可以让UITableViewController子类使用单例teamManager或playerManager或任何。这是一篇关于singleton"经理的博文:" http://www.galloway.me.uk/tutorials/singleton-classes/

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

喔。除了"为什么没有人想要回答我。"

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

  2. 堆栈溢出有助于回答特定问题。它不是按需教程的地方。您可以找到数十个核心数据到表格视图教程。你应该先读这些。