【问题标题】:Core Data Request issue核心数据请求问题
【发布时间】:2013-04-17 01:12:41
【问题描述】:

我有一个数据模型,但执行请求时遇到问题。

这是我的模型:

我想获取与某一特定事件相关的所有费用。

你认为我的模型有问题吗?

有关更多解释,这是我在数据库中设置数据的方式: 我有 2 种 事件'Event''Party'

客人1 或 n 个费用相关联,而一项费用与 1 或 n 个客人相关联. 这就是我创建实体“交易”的原因。

交易有两种类型:“已支付”和“受益”,因为客人可以支付费用,也可以成为受益人。

以下是我使用这些实体的方式: 对于一个 事件中的一个 费用客人支付此费用 为所有其他 guest,所以我创建一个 transaction 关联到 this guest 费用 类型为“已付款”,并且 与我的活动的客人有很多交易相同 费用相关联,但类型为“Beneficied”。

我不知道我的解释很清楚......

编辑

由于人们并不真正理解我的问题,我将解释我的应用程序是如何工作的。

我的应用程序的主要目的是重新平衡人们之间的费用,用于派对(生日、寿司派对等)或活动(假期、周末等)。

我的应用程序已经在 Apple 商店:iVent。 但这不是很好,这就是为什么我想使用核心数据更新它:)。

那么,它是如何工作的呢?

用户创建事件并选择事件的类型

参加聚会:

我获取 iPhone 联系人并将其显示在 tableview 上,用户检查哪个联系人被邀请参加聚会。

然后对于每个事件,我都有一个杂货清单。我从 plist 中获得了 杂货清单,用户可以将其修改为“默认杂货清单”。但是,对于每个事件,用户都可以删除所有杂货,不会影响 plist

我的杂货按类别(饮料、餐点、家具、酒类等)分类。 用户选择他想要的杂货店,例如 2 个六包、3 瓶红酒等。 然后他将杂货店链接到客人:Paul 将购买 1 个六包和 1 瓶红酒,Amy 将购买 1 个六包等。

然后我允许用户给出每个指定杂货的价格并设置该杂货的受益人。 例如 Anna 不喝酒,因此当用户重新平衡用户之间的所有价格时,她不想为任何酒付费。

对于一个事件,流程不同:

用户只检查邀请的客人来创建活动。 然后在活动期间用户将把所有的费用存入数据库

例如 Paul 和 Anna 为每个人支付汽油费,因此我们将 Paul 和 Anna 设置为费用购买者,而 Paul、Anna、Maurice 和 Mike 作为受益人,因为他们都在车里准备旅行。

我们可以为买家设置不同的价格,例如汽油费 50 美元,安娜支付 20 美元,迈克支付 30 美元。

受益人也是如此:例如,Mike 仅在行程中途来,因此他将(在重新平衡后)仅支付 12.5% 的汽油价格,而不是 25%默认 (因为他们4个在车里^^)

我知道这有点难以理解,但这就是我来这里寻求帮助的原因^^

基本上我的应用程序就是这样工作的,Appstore 上的版本已经具备所有这些功能,但不是很好。

这是我的所有数据模型:

希望你现在能理解我的问题:)

我想知道我的模型是否正常以及我如何列出使用此模型配置的活动的所有费用(不是派对)。

【问题讨论】:

  • 这个一点都不清楚。你能把应用程序的目的作为一个整体吗?它可能会帮助人们准确了解您的要求
  • 好的,我将编辑我的问题并解释我的应用程序是如何工作的 :)
  • @Pinwheeler 我已经编辑了我的帖子 :)
  • 这就是我的理解。你想给“事件”实体一些访问“费用”实体的方法吗?为什么不在事件和费用之间建立关系?
  • @Pinwheeler 这不会造成冗余吗?因为对于“聚会”,我有一个类别和一个杂货店,但没有一个“事件”

标签: objective-c core-data request data-modeling


【解决方案1】:

好的,我想我听到的是您的模型看起来不错。如果您想要一份与活动相关的所有费用的清单,您必须通过客人。以下是伪代码,因为我不确定语法

NSMutableArray* expenseList; //This will contain all of the expense objects for a given event
   for Guest* guestObject in myEvent.guests
   {
      for Transaction* transactionObject in guestObject.transactions
      {
          [expenseList addObject:transactionObject.expense];
      }
   }

【讨论】:

  • 我已经解决了在 Event 和 Expense 之间添加关系的问题 :) 但是这段代码也可以工作 ^^ 谢谢@Pinwheeler!
猜你喜欢
  • 2018-02-11
  • 1970-01-01
  • 2015-05-20
  • 2011-07-03
相关资源
最近更新 更多