2017-07-30 1 views
0

J'apprends Swift et je suis à la suite de certains tutoriels. Je continue à obtenir une erreur: typeLe type 'ViewController' n'est pas conforme au protocole

'ViewController' does not conform with protocol 'UITableViewDataSource'

import UIKit 

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    var GetAllDataTest = NSMutableArray() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func viewWillAppear(_ animated: Bool) { 

     GetAllDataTest = FMDBDatabaseModel.getInstance().GetAllData() 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "TestTableViewCell") as! TestTableViewCell 
     //cell.editData = self 
     cell.tag = indexPath.row 
     var l = Tbl_Test() 
     l = GetAllDataTest.object(at: indexPath.row) as! Tbl_Test 

     cell.lblName.text! = l.Name 
     cell.lblMobileNo.text! = l.MobileNo 
     cell.lblEmail.text! = l.Email 

     return cell 
    } 
} 

Voici ce que je l'ai essayé jusqu'à présent:

  1. Je me suis assuré la fonction est à l'intérieur de la classe.
  2. Je me suis assuré que les prises ViewController sont le story board principal.
  3. Lire d'autres questions StackOverflow avec des problèmes similaires, pas de solution que je peux trouver. (Je pourrais l'avoir manqué).

Merci

+1

il vous manque numberOfRows. – Phyber

+0

Les deux méthodes sont obligatoires pour le protocole UITableViewDataSource cellForRow et numberOfRowsInSection –

+1

Cela est correct. – Phyber

Répondre

5

Vous devez mettre en œuvre d'autres méthodes aussi. Ici vous manquent

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ 

    return GetAllDataTest.count 
} 
+0

Merci c'est parfait! – JAM