tableViewに構造体の配列を設定する必要があります。構造体の最初のプロパティは名前です。これは構造体配列でtableviewにデータを設定しない
var menuArray:[Restaurant] = [Restaurant]()
override func viewDidLoad() {
super.viewDidLoad()
let shake = Item(name: "Shake", carbs: 20)
let fries = Item(name: "Fries", carbs: 30)
let beverages = Category(name: "Beverages", items: [shake])
let chips_fries = Category(name: "Chips & Fries", items: [fries])
let desserts = Category(name: "Desserts", items: [])
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])
let menuArray = [a_w]
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let currentCell = tableView.dequeueReusableCell(withIdentifier: "cell")
let currentRestaurant = menuArray[indexPath.row]
currentCell?.textLabel!.text = currentRestaurant.name
return currentCell!
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return menuArray.count
}
は、なぜそれが私のtableViewここ
も私のクラスがある...これだけ
import Foundation
struct Item {
let name: String
let carbs: Int
}
struct Category {
let name: String
let items: [Item]
}
struct Restaurant {
let name: String
let categories: [Category]
}
のように見えるのだろうか? –
はいそれは動作しませんでした – Johnd
テーブルビューの代理人とデータソースを設定しましたか? –