错误自定义TableViewCell:swift dynamic_cast类无条件

时间:2014-12-22 06:56:24

标签: ios uitableview swift dynamic-cast

我收到错误,因为swift dynamic_cast类是无条件的,

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
      var   cell :CustomTableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as CustomTableViewCell;    // error here

        return cell
    }

请帮我解决这个问题。 谢谢!

2 个答案:

答案 0 :(得分:0)

dequeueReusableCellWithIdentifier()返回AnyObject类型的可选项。因此,强制型铸造会引起问题。如果您使用as?进行类型转换将起作用我猜

  var   cell :CustomTableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as? CustomTableViewCell; 

   // cell will not be nil if you registered already. Bt this if check may be needed to supress the warning of optional use
    if let _cell = cell{

    } 

答案 1 :(得分:0)

我找到了答案。要在viewDidLoad方法中添加以下命令,您应该注册自定义单元格类

 self.tableView.registerClass(CustomTableViewCell.self, forCellReuseIdentifier: "cell")