2010-11-17 57 views
1

我目前正在计划(和部分编码)一个新的应用程序。我有一组用户创建的项目。这实际上是图书馆。将此视为经典配料和膳食是最容易的。iPhone中的项目数组的唯一标识符

我有一个配料库。 然后我有一个餐厅的图书馆。每餐都含有几种食材。

因此,这种关系是许多成分的一餐。每种成分都可以用于多餐。 我可以设置所有这些 - 但我正在考虑如何在膳食中确定成分。如果我删除了一种成分,那么我想在每顿饭中删除可能出现的参考。

我应该为用户创建的每种成分分配一个随机ID(可能是一个5位数字),然后当他们将这添加到膳食中时,我使用5位ID作为标识符。当用户删除一种成分时,我会循环遍历每个膳食数组,并删除对所述成分5位数代码的任何引用。

或...我完全在想这个吗?! 感谢您的帮助!

回答

0

只是做一个:[项目散列]

但是......

这听起来像你想只创建你的“餐点”引用数组到你的“成分”。 NSArray或NSMutableArray将保留您的“成分” - 并在阵列发布时释放它。

+0

谢谢布拉德。我刚刚在查看项目散列。这似乎引用阵列项目记忆,如果我正确思考?你说得对,膳食数组只是一堆参考成分。 NSMutableArray是我前进的方向。去看CFArray,因为我以前从未使用过它们。谢谢。 – 2010-11-17 20:55:46

+0

我有点模糊 - 但我相信NSArray会简单地保留放置在其中的对象。 (我原本以为NSArray会复制它,但我不认为是这种情况)。 – Brad 2010-11-17 20:58:14

+0

NSArray的确保留了它的NSObject。 – 2010-11-18 00:25:28

1

如何使用sqlite存储食材和膳食?不知道你实际编码的是什么,但它听起来像是一个很好的数据库应用程序。

如果你不需要永久存储数据(例如你实际上正在谈论某个游戏或某件事情),那么你仍然可以在临时表中使用db)。

+0

谢谢约瑟。我之前已经走过了核心数据/ SQLite的路线 - 但这对于这一点来说是过度的。该应用程序是一个简单的烹饪程序。我只需要储存配料的名称和烹饪时间。然后用这些配料补充食物。我可能会简单地做一个新的膳食阵列,并复制到这顿饭的ingregients - 但不是阵列项目。简单的内容,并保留在新的。所以它没有被引用。只会有少量的饭菜。谢谢回复。 – 2010-11-18 10:19:31