在Xcode beta 4中设置UITableViewCell委托时崩溃

时间:2014-07-24 08:28:42

标签: ios uitableview delegates swift

我收到错误:“EXC_BAD_ACCESS(code = 1,address = 0xffffffffffffffffff)”当我尝试设置UITableViewCell的委托时。

这是我的UITableViewCell:

protocol MyCellDelegate {
    func onButtonClicked(theCell : MyCell)
}

class MyCell: UITableViewCell {

    @IBOutlet weak var lblTitle: UILabel!

    var delegate : MyCellDelegate?

UIViewController,包括使用tableview单元格的tableview:

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

    let cell = tableView.dequeueReusableCellWithIdentifier("MyCell") as MyCell
    cell.lblTitle.text = ...
    cell.lblDescription.text = ...
    cell.delegate = self // ***Crashes*** here

似乎相同的代码适用于Beta 3.任何人都可以提供帮助吗? (我不知道如何为Swift调试这种错误。因为所有命令如 po 根本不起作用。)

1 个答案:

答案 0 :(得分:0)

添加@objc解决了这个问题。

@objc protocol MyCellDelegate {
    func onButtonClicked(theCell : MyCell)
}