类型'ViewController'不符合协议

问题描述:

我正在学习Swift并遵循一些教程。我不断收到一个错误: 类型类型'ViewController'不符合协议

'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 
    } 
} 

这里是我到目前为止已经试过:

  1. 我已经保证了功能的类中。
  2. 我确保了ViewController插座是主要的故事板。
  3. 阅读其他*与类似问题的问题,没有解决方案,我可以找到。 (我可能错过了它)。

感谢

+1

你缺少numberOfRows。 – Phyber

+0

这两种方法对UITableViewDataSource协议cellForRow和numberOfRowsInSection都是强制性的 –

+1

这是正确的。 – Phyber

您需要实现其他的方法为好。这里你缺少

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

    return GetAllDataTest.count 
} 
+0

谢谢你完美! – JAM