cellForRowAt索引路径出错

时间:2018-02-11 23:09:54

标签: ios swift uitableview

我的函数中出现了返回错误。

错误信息是“无法转换类型'UITableViewHeaderFooterView的返回表达式?'返回类型'UITableViewCell'

import UIKit

class PhotosViewController: UIViewController {
    var photos = Photo.downloadAllPhotos()
    struct Storyboard {
        static let photoCell = "PhotoCell"
    }
    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.dataSource = self
    }
}

extension PhotosViewController : UITableViewDataSource
{
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableHeaderFooterView(withIdentifier:
            Storyboard.photoCell)

         //error Cannot convert return expression of type 'UITableViewHeaderFooterView?' to return type 'UITableViewCell'
         return cell
    }
}

1 个答案:

答案 0 :(得分:-1)

我解决了这个问题。将底部的代码更改为:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
    let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.photoCell)

    return cell!
}