解析 / Swift 问题与 tableviewcell“二元运算符'=='不能应用于单元格和 nil 类型的操作数”

Posted

技术标签:

【中文标题】解析 / Swift 问题与 tableviewcell“二元运算符\'==\'不能应用于单元格和 nil 类型的操作数”【英文标题】:Parse/Swift Issue with tableviewcell "binary operator '==' cannot be applied to operands of type cell and nil"解析 / Swift 问题与 tableviewcell“二元运算符'=='不能应用于单元格和 nil 类型的操作数” 【发布时间】:2015-03-11 16:59:14 【问题描述】:

我在使用 Xcode 6.3 beta 时遇到 Parse/Swift 问题

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath , object: PFObject) -> PFTableViewCell 
        var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! secTableViewCell

        if cell == nil
        
            cell = secTableViewCell(style: UITableViewCellStyle.Default , reuseIdentifier: "cell")
        
        // Configure the cell...

        cell.title.text = (object["exams"] as! String)
        cell.img.image = UIImage(named: "109.png")

        return cell
    

错误指向

 if cell == nil
        
            cell = secTableViewCell(style: UITableViewCellStyle.Default , reuseIdentifier: "cell")
        

二元运算符 '==' 不能应用于 cell 和 nil 类型的操作数"

【问题讨论】:

【参考方案1】:

cell 的类型为 secTableViewCell 而不是 secTableViewCell? (Optional<secTableViewCell>)。因为它不是可选的,所以它不能为 nil。

如果你需要测试nil,那么你想拥有

var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as? secTableViewCell

问题是您永远不必测试nil。 "cell" 应该始终是相同的类型(在您的情况下,它应该始终是 secTableViewCell

【讨论】:

以上是关于解析 / Swift 问题与 tableviewcell“二元运算符'=='不能应用于单元格和 nil 类型的操作数”的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中带有 tableView 或 TableViewController 的 UIViewController

展开 segue 后,swift 2 搜索栏不会隐藏

Swift 网络请求数据与解析

Swift:使用 UIImageView 显示带有从数组 [0..4] 中获取的 URL 的图像

解析 / Swift 问题与 tableviewcell“二元运算符'=='不能应用于单元格和 nil 类型的操作数”

PFFile 大小问题与 parse 和 swift