在我的项目中,我试图使用中介将协议方法转发给已注册的元素。
通常在Objective-C中,我会询问一个元素是否响应选择器并使用performSelector方法。在Swift中,这种方法不再可用。
基本上,这就是我想要实现的目标:
override func forwardingTargetForSelector(aSelector: Selector) -> AnyObject? {
for element in elements {
if element.respondsToSelector(aSelector) {
element.performSelector(aSelector) // This doesn't work in Swift
}
}
return super.forwardingTargetForSelector(aSelector)
}
我知道为performSelector
启用Swift变体的Objective-C导入,但我在这里寻找纯粹的Swift解决方案。