Ich erhalte Json
Menüdaten in einer Tabellenansicht. Jetzt muss ich die "Subcategory"
Daten zu der anderen Tabellenansicht zum Zeitpunkt der benutzerdefinierten Zellenerstellung übergeben. Ich nahm eine weitere Tabellenansicht in der benutzerdefinierten Zelle unter didSelectRowAtIndexPath
.Wie kann ich das Array von Wörterbüchern von einer Tabellenansicht zu einer anderen benutzerdefinierten Tabellenansicht in Swift
Mein json Datenformat
[{
"id" :"233",
"name" :"dgghd",
"subcategory:[{
"id" :"233",
"name" :"dgghd",
"items:[{
"id" :"233",
"name" :"dgghd",
},... more items]
},....more subcategories
]
},....more main menus
]
Fetching Menüdaten
Alamofire.request(.GET, myUrl)
.validate()
.responseJSON { response in
switch response.result
{
case .Success:
if let value = response.result.value {
let json = JSON(value)
// print(json)
//main menu section
for (_, content) in json {
let menu = Menu(id: Int(content["id"].stringValue),
name: content["name"].string,
image: content["image"].string,
coupon: content["coupon"].int,
icon: content["icon"].string,
order: Int(content["order"].stringValue),
aname: content["name"].string,
options: Int(content["options"].stringValue),
subcategory:content["subcategory"].arrayObject)
self.menus.append(menu)
}
for (_, sub) in json {
for (_, subcategory) in sub["subcategory"] {
let subcategory = SubCategory(
id: Int(subcategory ["id"].stringValue),
name: subcategory ["name"].string,
description: subcategory ["description"].string,
image: subcategory ["image"].string,
coupon: Int(subcategory ["coupon"].stringValue),
icon: subcategory ["icon"].string,
order: Int(subcategory ["order"].stringValue),
aname: subcategory ["aname"].string,
options: Int(subcategory ["options"].stringValue),
items: subcategory ["items"].arrayObject
)
self.subcategories.append(subcategory)
}
individuelle Zelle Erstellungscode
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return menus.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Menucell", forIndexPath: indexPath)as! MENUTableViewCell
let menu: Menu = menus[indexPath.row]
cell.Ordermenu.text! = menu.name!
return cell
}
Wie kann ich die Unterkategorie an die benutzerdefinierte "Menutableviewcell" übergeben, damit ich die Unterkategorien dort in Abschnitte anzeigen kann?
aber ich bekomme keinen Wert in subCat, wenn ich versuche, seinen Wert in MENUTableViewCell wie folgt anzuzeigen http://pastie.org/10909609 –
Und in Ihrem Code denke ich statt cell.SubCategory .... Zelle. subCat sollte verwendet werden, weil Sie subCat als SubCategory-Typ erstellt haben. –
Ich habe meine Antwort bearbeitet, so dass Sie mit didSet die von Ihnen übergebene Unterkategorie var sicher auspacken und damit umgehen können, wenn sie null ist. Ich denke, dass Sie Ihren Code überprüfen müssen, wenn die Zelle erstellt wird, hätten Sie die JSON-Daten bereits erhalten. –