2017-10-18 2 views
0

Ich habe einen Tabellenansicht-Controller in meinem View-Controller. Wenn ich ihm die statische Anzahl von Zeilen und die Zelle für den Index der Zeilenmethode gebe, zeigt er mir nichts in der Tabellenansicht an. Ich habe auch die Tabellenansicht neu zu laden, aber es zeigt nicht, dass ich weiß nicht, warum es so ist,Problem beim Laden von Daten in der Tabellenansicht in IOS

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return messages.count 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = UITableViewCell (style: .subtitle, reuseIdentifier: "cellID") 
    let message = messages[indexPath.row] 
    cell.textLabel?.text = message.text 

    return cell 
} 
+1

Haben Sie setzen 'Delegat & datasource' für Ihre Tableview –

+0

Sie Delegierten festlegen müssen. –

Antwort

0

erneut prüfen, wenn u

tableView.delegate = self 
tableView.datasource = self 

auch einen Haltepunkt auf cellForRowAtIndexpath setzt gesetzt haben zu prüfen, wenn Code durch den Block läuft.

Überprüfen Sie auch die CellIdentifier (CellID) ist korrekt oder nicht.

+0

Vielen Dank. Kannst du mich in einer kurzen Frage führen? @ DHEERAJ – Raheel

+0

sicher, was ist das? – DHEERAJ

+0

Ich habe Brücke in meinem Projekt verwendet, ich habe Speicherwert der Zeichenfolge in NSUserDefault jetzt möchte ich es an meine Swift-Klasse übergeben, aber wenn ich es übergeben Wert nicht zeigt. @DHEERAJ – Raheel

0
class ViewController:UIViewController,UITableViewDataSource,UITableViewDelegate { 

       //Getting the reference variables of storyboard 
       @IBOutlet weak var tableView:UITableView! 
       var messages = [String]() 

       override func viewDidLoad() { 
        super.viewDidLoad() 


        //Add some packages 
        messages.append("Super") 
        messages.append("Free ") 
        messages.append("Miscellaneous") 
        messages.append("All ") 

        tableView.datasource = self 
        tableView.delegate = self 


       } 

    func numberOfSections(in tableView: UITableView) -> Int { 
      return 1 
     } 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return messages.count 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = UITableViewCell (style: .subtitle, reuseIdentifier: "cellID") 
     let message = messages[indexPath.row] 
     cell.textLabel?.text = message.text 

     return cell 
    } 
} 
+0

Danke, ich habe meine Antwort – Raheel

0

Verwenden Sie dies. Dieses funktioniert für mich

class yourViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 
     @IBOutlet weak var tableView:UITableView! 

     override func viewDidLoad() { 
      super.viewDidLoad() 
      tableView.datasource = self 
      tableView.delegate = self 
     } 
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
      return messages.count 
     } 

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
      let cell=tableView.dequeueReusableCell(withIdentifier: "cellID",for : indexPath) 


      let message = messages[indexPath.row] 
      cell.textLabel?.text = message.text 

      return (cell) 

     } 
    } 
+0

Danke, ich habe meine Antwort – Raheel

Verwandte Themen