无法分配类型的值' UITableViewCell'键入' ... Cell'快速错误

时间:2016-05-29 10:51:43

标签: ios xcode swift uitableview

let cellIdentifier = "ChampionThumbnailCell"

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

var cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as? ChampionThumbnailTableViewCell

if cell == nil {
    cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellIdentifier)
}

cell!.championNameLabel.text = championNames[indexPath.row]
cell!.championThumbnailImageView.image = UIImage(named: championThumbnail[indexPath.row])

return cell!
}

我想使用上面的代码重用UITableViewCell,但是在构建时我遇到了这个错误。

看起来像是:无法分配类型的值' UITableViewCell'键入' ChampionThumbnailTableViewCell?'

有没有解决办法可以修复它?

(顺便说一句,我不太擅长英语......)

2 个答案:

答案 0 :(得分:2)

将您的方法更改为:

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


let cellIdentifier = "ChampionThumbnailCell"
var cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! ChampionThumbnailTableViewCell


cell.championNameLabel.text = championNames[indexPath.row]
cell.championThumbnailImageView.image = UIImage(named: championThumbnail[indexPath.row])

return cell
}

请注意我在第三行使用!而不是?显示编译器,你不会对你的单元格为零感到困惑。

但如果事实证明您的单元格为零,则会导致运行时错误

答案 1 :(得分:-1)

如果单元格== nil {     单元格= ChampionThumbnailTableViewCell(样式:UITableViewCellStyle.Default,reuseIdentifier:cellIdentifier) }

尝试这个!