从数组中的数组返回表视图中的节中的行数

时间:2018-01-05 23:15:40

标签: arrays swift tableview

我正在创建一个跟踪膳食的桌面视图。对于上下文,我有两个其他swift文件,每个文件都有一个struct Meal,另一个是Food结构(如下面的代码所示,在“meal”变量中初始化。

var meals: [Meal] = [Meal(name: "breakfast", food: [Food(name: "eggs", description: "3 eggs")]), Meal(name: "lunch", food: [Food(name: "sandwich", description: "ham and cheese sandwich")]), Meal(name: "dinner", food: [Food(name: "steak", description: "steak with a side of potatoes")])]

我被问到的是如何返回每个部分中的行数(每个部分都是一个用餐对象)。

我通过输入meals.count得到numberofSections来返回部分的数量,以返回对象的值:

override func numberOfSections(in tableView: UITableView) -> Int {

    return meals.count
}

现在我需要访问numberOfRows中每个膳食对象中的“食物”对象的数量:

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return meals.food.count
}

但是我得到一个错误,上面写着“类型[膳食]的价值没有成员”食物“。我不知道还能做什么。在这种情况下,我只在每个食物对象中放入一个食物对象,所以我知道值将为1,但我需要直接从变量中访问数字。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要获取与该方法中的部分对应的个人food的{​​{1}}数组的计数。所以简单的解决方案是这样的:

Meal