swift 3错误:不符合协议'UITableViewDataSource'

时间:2016-08-12 20:45:36

标签: uitableview

使用自定义swift类(不是主ViewController)

代码:

import Foundation

class Myclass: UIViewController, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet var tableView: UITableView!

    var items: [String] = ["Item1", "Item2", "Item3"]

    override func viewDidLoad() {
        self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "td")
    }

     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.items.count;
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "td")! as UITableViewCell
        cell.textLabel?.text = self.items[indexPath.row]
        return cell
    }

    func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
        print("You selected cell #\(indexPath.row)!")
    }
}

1 个答案:

答案 0 :(得分:0)

您的方法与协议不匹配。在swift 3中,协议方法是不同的。确认它们匹配。