2017-10-17 3 views
0

Voici ma classe personnalisée TableViewController.TableViewController personnalisée Méthode tableView() non appelée

J'ai inséré une déclaration d'impression dans viewDidLoad et tableView méthodes

viewDidLoad a été imprimé à la console mais tableView n'a pas été

Je me suis assuré d'ajouter l'identifiant Device Cell dans l'éditeur d'attributs, donc je ne suis pas bien sûr ce que je fais mal

class MyTableViewController: UITableViewController { 

    // ... some code 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     print("viewDidLoad") 

    } 

    // ... some code 

    override func tableView(_ tableView: UITableView, 
     cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = 
      tableView.dequeueReusableCell(
       withIdentifier: "Device Cell", for: indexPath) 

     // Configure the cell... 

     print("tableView") 

     let device = mWifiDevices[indexPath.row] 
     cell.textLabel?.text = device.mIpAddress 

     return cell 
    } 


    // ... some code 
} 
+0

Avez-vous des cellules? montrez-nous un code où vous définissez combien d'entre eux devraient être là –

+0

@Lu_ Vous avez raison, j'ai oublié de le faire! –

+0

rechargez-vous UITableView? Qu'en est-il de définir le nombre d'éléments dans le tableauView? – Jay

Répondre

0

Doh! La solution consistait simplement à ajouter les accesseurs de comptage de lignes et de sections

override func numberOfSections(in tableView: UITableView) -> Int { 
    // #warning Incomplete implementation, return the number of sections 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of rows 
    return mWifiDevices.count 
}