0
テーブルビューにカテゴリの名前だけを入力する必要があります。私はそれがこのことを示してテーブルビュー...私は私のすべての情報を追加テーブルビューに名前だけを設定することはできません
Category(name: "Sandwiches & Burgers", items: [])
HERESに...
let sortedKeys = newArray.sorted{$0.0 < $1.0}
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])
menuArray = [a_w]
、その後、私のクラスを移入するとここで
struct Item {
let name: String
let carbs: Int
}
struct Category {
let name: String
let items: [Item]
}
struct Restaurant {
let name: String
let categories: [Category]
}
はどこだI ...
var currentRestaurant:Restaurant!
var menuArray:[Restaurant] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var array = currentRestaurant.categories
print(array)
let currentCell = tableView.dequeueReusableCell(withIdentifier: "cell")!
currentCell.textLabel?.text = String(describing: array[indexPath.item])
return currentCell
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return currentRestaurant.categories.count
}
何がテーブルビューに表示しないテーブルビューをリロードしてください。ある時点でデータをリロードする必要がありますか? @vadian – Johnd
もちろん。実際には、データソースを生成するコードは 'viewDidLoad()'にあるはずです。最後の呼び出しで 'tableView.reloadData()' – vadian
あなたは答えを編集してより明確に@vadianを見ることができますか – Johnd