【发布时间】:2016-11-19 07:32:30
【问题描述】:
我有一个协议充当一个视图和另一个视图之间的代理。
协议看起来(类似于):
protocol MyProtocol: class {
func functionOne()
}
该协议在View2 中实现,类似于:
extension View2:MyProtocol {
func functionOne() {
print("Hello World"
}
}
现在我希望View1 中的按钮目标调用此方法。因此在View1我有一行:
myButton(self, action: #selector(delegate?.functionOne), forControlEvents: .TouchUpInside)
但是"Use of unresolved identifier 'functionOne'"的按钮线错误,这是我在其他问题中从未见过的错误。
如果我在View1 中创建一个functionTwo 并将目标设置为functionTwo,然后通过直接调用delegate?.functionOne 来实现functionTwo,则一切正常。但这似乎很不雅。
【问题讨论】:
标签: ios swift protocols delegation