使用具有UITableView的核心数据与具有不同数量单元格的部分

时间:2015-07-23 17:09:44

标签: ios uitableview core-data

所以我有一个TableView包含的部分可能包含不同数量的单元格,具体取决于详细行的用户输入。我试图了解更多关于保存的信息,并希望制作一个简单的应用程序,允许用户保存配方成分。例如,我可以有5个不同的部分,包含5种不同类型的食物,例如 - >香蕉:量-2卡路里-10细节 - 切片,苹果量-3卡路里-20细节 - 饲料< - 。然后,用户将单击完成,他或她的食谱名称将被保存并显示在另一个表视图中的单元格上。一旦用户点击它,他/她就可以看到他/她放置的内容并且可以根据他/她的需要进行编辑。有人告诉我,Core Data最适合这种类型的保存。

如何以有条理的方式保存所有信息。我知道如何使用Core Data保存单个单元格但是这很困难的是每个部分可以包含唯一数量的单元格,然后这些数据全部保存到一个数据条目中。它就像一个数组内部数组的数组。我也有一种感觉,我必须使用字典。我似乎无法构建所有这些数据。任何人都可以帮助或有任何关于我应该如何攻击它的提示?我顺便使用Swift。

TableView的一部分可能如下所示:

Picture of what one section of the TableView might look like.

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这种情况。想到的第一个解决方案是为要显示的每个部分存储一个唯一的数组。例如。水果阵列,蔬菜阵列等。如果您这样做,当您从核心数据中提取时,您会将项目存储在相应的数组中,并在numberOfRowsForSection中执行类似以下操作:

switch (section) {
case 0:
    return fruit.count()
case 1:
    return vegetable.count()
default:
    return 0
}

将根据您当时所在的部分调用该switch语句。如果您使用不同的路线(如字典),而不是返回不同数组的计数,则可以return typeDict.objectForKey("fruit")代替。