检查自定义UITableViewCell是否为零

时间:2015-04-20 15:48:20

标签: ios swift

我有两个原型单元BasicCellBasicCell2。两者都有一个标签titlet。我无法检查nil cel

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if(indexPath.row == 0 && flagcheck == 0 ) {
        let cell2 = tableView.dequeueReusableCellWithIdentifier("BasicCell2") as BasicCell2
        if cell2 == nil {
            cell2 = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell2")
        }

        cell2.titlet.text = question+"\n"+"\n"
        cell2.backgroundColor = hexStringToUIColor("b2cecf")
        cell2.userInteractionEnabled = false
        return cell2

    }
    else if (indexPath.row == 0){
        let cell = tableView.dequeueReusableCellWithIdentifier("BasicCell") as BasicCell
        if cell == nil {
            cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell")
        }

        cell.titlet.text = question+"\n"+"\n"
        return cell
    }
    else {
        let cell = tableView.dequeueReusableCellWithIdentifier("BasicCell") as BasicCell
        if cell === nil {
            cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell")
        }
        cell.titlet.text = self.data1[indexPath.row-1]
        return cell
    }
}

这是我得到的错误

 Cannot invoke '==' with an argument list of type '(BasicCell, NilLiteralConvertible)'

这是我的BasicCell.swift

  import UIKit

  class BasicCell: UITableViewCell {
  @IBOutlet weak var titlet: UILabel!
  }

1 个答案:

答案 0 :(得分:0)

在执行比较操作之前,您可能必须打开单元格。

let cell2 = tableView.dequeueReusableCellWithIdentifier("BasicCell2") as BasicCell2! 
        if cell2 == nil {
            cell2 = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "BasicCell2")
        }

检查BasicCell! ("!"字符是展开字符)。

如果有效,请告诉我。