我设置了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