swift protocol, IBOutlet property cannot have non-object type

后端 未结 6 1081
梦毁少年i
梦毁少年i 2020-12-15 20:11

I would like to wire up a custom swift delegate in IB. The delegate is an object that implements a certain protocol in swift.

protocol ThumbnailTableViewCel         


        
6条回答
  •  悲&欢浪女
    2020-12-15 21:06

    You have to declare your ThumbnailTableViewCellDelegate protocol as @objc:

    @objc protocol ThumbnailTableViewCellDelegate {
        func cellWasTouched(thumbnail: Bool, cell: UITableViewCell)
    }
    

    This is because @IBOutlet declares the variable as weak, which only works with objects. I'm not sure why you can't just say the protocol conforms to AnyObject, perhaps that's a Swift bug.

提交回复
热议问题