TableView没有填充数组数据

时间:2017-05-10 21:13:59

标签: swift uitableview

我需要根据用户在最后一个tableview上点击的单元格来填充我的第三个tableview。我成功地从第一个tableview到第二个tableview做了这个,但不能做到第三个。我正在使用tableview控制器

我需要了解如何使numberOfSections等于categories.items.count

继承我的班级......

struct Item {
let name: String
let carbs: Int
}
struct Category {
   let name: String
   let items: [Item]
}

struct Restaurant {
    let name: String
    let categories: [Category]

}

我追加的地方......

  let shake = Item(name: "Shake", carbs: 20)
    let fries = Item(name: "Fries", carbs: 30)
    let pie = Item(name: "Pie", carbs: 23)

    let beverages = Category(name: "Beverages", items: [shake])
    let chips_fries = Category(name: "Chips & Fries", items: [fries])
    let desserts = Category(name: "Desserts", items: [pie])
    let other = Category(name: "Other Menu Items", items: [])
    let sandwiches_burgers = Category(name: "Sandwiches & Burgers", items: [])
    let sides = Category(name: "Sides", items: [])

    a_w = Restaurant(name: "A&W", categories: [beverages, chips_fries, desserts, other, sandwiches_burgers, sides])

    restaurants = [a_w]

我尝试填充

的地方
    var categories = [Category]()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    tableView.reloadData()
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    let category = categories[indexPath.section]
    let item = category.items[indexPath.row]
    cell.textLabel!.text = item.name
    return cell
}
override func numberOfSections(in tableView: UITableView) -> Int {
    return categories.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    let category = categories[section]
    return category.items.count
}

0 个答案:

没有答案