type TypeViewOne不符合协议UITableViewDataSource

时间:2015-12-17 00:16:32

标签: ios swift uitableview

这是我的代码

class TableViewOne: UITableViewDataSource, UITableViewDelegate {


     func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("firstCell") as! firstCell
        let index = indexPath.row
        cell.labelMy.text = ViewController.firstData![index]
        return cell

    }

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

     func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if let s = ViewController.firstData {
            return s.count
        }
        return 0
    }

}

我不知道为什么这次我收到此错误但是当我使用UITableViewController的子类时,这些就足够了,听起来UITableViewControlelr已经为其他所需功能实现了,但我无法将自己认识到自己。

3 个答案:

答案 0 :(得分:2)

UITableViewDataSource要求您遵守NSObject协议TableViewOne,纯粹的快速类,NSObject。将您的声明更改为继承class TableViewOne: NSObject, UITableViewDataSource, UITableViewDelegate ,如下所示:

override

其次,您不需要TableViewOne关键字,因为UITableViewController不是另一个对象的子类。 UITableViewController有一个返回1的默认实现,但因为你不是子类override func numberOfSectionsInTableView(tableView: UITableView) -> Int ,所以没有方法可以覆盖。

func numberOfSectionsInTableView(tableView: UITableView) -> Int

VS。

com.fasterxml.jackson.databind.util.JSONPObject

答案 1 :(得分:0)

确保您从datasourcedelegate向您的班级提出storyboardxib。同样如下:

enter image description here

Datasource会使您的课程符合:cellForRowAtIndexPathnumberOfSectionnumberRowInSection

答案 2 :(得分:0)

您似乎已经在故事板中使用了UIViewController&添加了一个UITableView,如果是这样的话,那么子类UIViewController&像这样改变你的班级

class TableViewOne: UIViewController,UITableViewDataSource, UITableViewDelegate {

如果你已经在故事板中使用了TableViewController,那么你只需要子类化UITableViewController

class TableViewOne: UITableViewController{

&安培;您只需要添加以下函数来确认到tableview数据源

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 0
}

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

    return 0
}