制作班级内的班级
问题描述:
我需要存储数据,所以我有; restaurantName,该餐厅的类别(这将是一个字符串数组),每个类别的项目数组以及数组中每个项目的数字。继承人我有什么制作班级内的班级
open class Item{
var name = String()
var numberOfCarbs = Int()
var category = String()
init(name n:String,numberOfCarbs c:Int,category t:String){
name = n
numberOfCarbs = c
category = t
}
}
open class Restaurant{
var items = [Item]()
var cateogry = [String]()
var restaurantName = String()
init(restaurantName n:String,category c:[String],items i:[Item]){
restaurantName = n
cateogry = c
items = i
}
我不认为这是做到这一点的最佳方式,有人可以告诉我如何构造这个。
答
你说你有每个类别的项目数组。如果是这种情况,那么一个类别不应该是一个字符串数组,它应该是一个类别数组。
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 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: [])
let a_w = Restaurant(name: "A&W", categories: [beverages, chips_fries, desserts, other, sandwiches_burgers, sides])
let menuArray = [a_w]
+0
抱歉所有的问题,但我这样做'让currentRestaurant = menuArray [indexPath.row] currentCell?.textLabel!.text = currentRestaurant.name'并没有显示在名称@DanielT的表视图中。 – Johnd
你的问题不明确。你到底在做什么? – rmaddy
将姓名与numberOfCarbs分开@rmaddy – Johnd
由于您发布的代码已经这样做,所以没有说明任何内容。 – rmaddy