我设置了tableview数据源,但是用erorr无法识别
类型“ViewController”不符合协议“UITableViewDataSource”

import UIKit

class ViewController: UIViewController ,UITableViewDataSource,UITableViewDelegate{



    override func viewDidLoad() {
        super.viewDidLoad()

        var contact : [pedped]=[]

        let asghar = pedped()
        asghar.nmae="asghar "
        asghar.lname="ghasemi"
        asghar.image="asghar"

        let akbar = pedped()
        akbar.nmae="akbar "
        akbar.lname="askj"
        akbar.image="asgkajsjkashar"


        contact.append(asghar)
        contact.append(akbar)



        func numberOfSections(in tableView: UITableView) -> Int {
            return 1
        }
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return contact.count
        }

        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell=tableView.dequeueReusableCell(withIdentifier: "id", for: indexPath)as!custom
            let contacts = contact[indexPath.row]
            cell.lablename.text = contacts.nmae
            cell.lastnamelable.text = contacts.lname
            return cell
        }

    }


}

最佳答案

尽管ViewController符合UITableViewDataSource,但是您在错误的地方实现了这些方法。您必须在viewDidLoad之外将其删除。

另外,请确保表视图数据源/代理已连接到视图控制器本身,无论是通过界面构建​​还是通过代码:

// create an IBOutlet for the table view then:
tableView.dataSource = self
tableView.delegate = self

10-08 17:48