制作班级内的班级

问题描述:

我需要存储数据,所以我有; 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 
} 

我不认为这是做到这一点的最佳方式,有人可以告诉我如何构造这个。

+0

你的问题不明确。你到底在做什么? – rmaddy

+0

将姓名与numberOfCarbs分开@rmaddy – Johnd

+0

由于您发布的代码已经这样做,所以没有说明任何内容。 – rmaddy

你说你有每个类别的项目数组。如果是这种情况,那么一个类别不应该是一个字符串数组,它应该是一个类别数组。

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