2016-06-28 9 views
0

Meine Daten kommen in modaler Klasse namens Menu, indem Sie ihre Objektmenüs erstellen. Jetzt Wie kann ich die Menünamen zu senden Tableview in bestimmten Zelle zeigenSo füllen Sie Daten vom Klassenmodell zur Tabellenansicht

var menus = [Menu]() 
        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) 

         menus.append(menu) 
        } 
        for menu in menus { 
         print(menu.name) 
         print(menu.id) 
         print(menu.subcategory) 
        } 
        print(menus.count) 

Hier ist die Alle Daten werden in Menu-Klasse mit Hilfe von Menüs gespeichert object.I die Codes hinzugefügt hat, Daten zu Tableview zu zeigen. Hier habe ich benutzerdefinierte Tabellenansicht erstellt und versucht, sie zu füllen

Es funktioniert nicht. Wie sollte die Umsetzung sein?

enter image description here

Es zeigt die ProjectName.ClassName

aktualisiert, nachdem Antwort akzeptieren enter image description here

Antwort

1

Probieren Sie die folgende Codezeile aus. Ich hoffe, es wird Ihnen helfen ...

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 


} 
+0

ja, aber der Wert kommt in optionalen Wert wie diese optional (Wert) –

+0

Können Sie Screenshot des Bildschirms nach Änderung im Code nach meiner Antwort geben? –

+0

yeah Ihr Code funktioniert, aber nur der kleinere Fehler –

0

Sie die Tabellenzellen registrieren Sie? Versuchen Sie so etwas ...

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
{ 
    var cell: MENUTableViewCell! = tableView.dequeueReusableCellWithIdentifier("MENUTableViewCellIDENTIFIER") as? MENUTableViewCell 

    if cell == nil 
    { 
     let nib: UINib = UINib(nibName:"MENUTableViewCell", bundle: nil) 

     tableView.registerNib(nib, forCellReuseIdentifier:"MENUTableViewCellIDENTIFIER") 
     cell = tableView.dequeueReusableCellWithIdentifier("MENUTableViewCellIDENTIFIER") as! CompactIncidentCellView 
     //cell.selectionStyle = UITableViewCellSelectionStyle.None 
    } 

    // work with cell here... 
    cell.Ordermenu.text = (" \(menus[indexPath.row])") 

    return cell 
} 
+0

eigentlich habe ich versucht, eine einzelne Nachricht anzuzeigen und machte die Anzahl der Zeilen zählen behoben seine Arbeit. –

+0

das Problem ist in "menus.count" es ist nicht das Abrufen der Zählung von Menü Klassenmodell –

+0

Ohh. Ich habe die Antwort tatsächlich bekommen. Ich vergesse, die Tabelle zu laden –