符合协议的IBOutlet?

时间:2015-12-02 19:53:20

标签: swift swift2

在Swift中,您无法创建符合协议的IBOutlet。我目前的工作是创建一个AnyObject类型的IBOutlet和一个符合我的协议的变量,然后将所述变量设置为awakeFromNib()中的出口,如下所示:

@IBOutlet private var fooOutlet: AnyObject!
private var foo: FooProtocol!

override func awakeFromNib() {
    super.awakeFromNib()

    foo = fooOutlet as? FooProtocol
}

我的问题是:有没有更好的方法来实现这一目标?或者这是在Swift中实现这一目标的唯一方法吗?

1 个答案:

答案 0 :(得分:3)

这将有效

@objc(FooProtocol)
protocol FooProtocol {}