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

我有一个适用于tableView的类似代码,但它写于大约一个月前,而我没有更新Xcode。也许最近的变化很快导致了错误?

    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


    }

最佳答案

尝试将您的数据源方法放在这样的类扩展中:

extension yourViewController: UITableViewDataSource {
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // cellForRow stuff
    }

}

关于ios - Swift cellForRowAtIndexPath定义与先前的值冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36241947/

10-12 14:34