2017-05-05 198 views
0

我需要存儲數據,所以我有; 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

回答

0

你說你有每個類別的項目數組。如果是這種情況,那麼一個類別不應該是一個字符串數組,它應該是一個類別數組。

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