Swift cellForRowAtIndexPath定义与先前值冲突

时间:2016-03-26 23:07:48

标签: ios swift uitableview

下面是我的tableView的代码,我在cellForRowAtIndexPath函数声明中有一个错误,它说定义与之前的值冲突。先前的堆栈溢出问题有解决方案使函数返回UITableViewCell作为可选值,但这不能解决我的错误。我也有一个错误,说viewController不符合协议UITableViewDataSource,但我认为这是因为cellForRowAtIndexPath方法的错误。

我有一个类似于tableView的代码,但它是在我更新Xcode之前大约一个月前编写的。也许最近swift的变化导致错误?

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

        return 1

    }


    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell? {

        let cellIdentifier = "tableViewCell"

        let newCell : TableViewCell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier)  as! TableViewCell


        newCell.heading.text = names[indexPath.row]

        return newCell


    }

2 个答案:

答案 0 :(得分:2)

尝试将数据源方法放在类扩展中,如下所示:

c

答案 1 :(得分:0)

如果这是在UITableViewController中,则需要为方法添加覆盖:

{{1}}