Pau*_*ron 8 delegates ios swift swift2
我正试图绕过代表团,并将其剥离到基本实现.我想出了这个,但委托函数永远不会被调用.谁能解开一些光明?
protocol MyDelegate{
func delegatedFunction (a:String)
}
class DelegatorClass {
var delegate: MyDelegate?
func callDelegate() {
delegate?.delegatedFunction("hello")
}
}
class DelegateClass: MyDelegate {
func delegatedFunction (a:String){
print(a)
}
}
Run Code Online (Sandbox Code Playgroud)
let myDelegatorObj = DelegatorClass()
myDelegatorObj.delegate = DelegateClass()
myDelegatorObj.callDelegate()
Run Code Online (Sandbox Code Playgroud)
点在你打电话之前你callDelegate()需要分配delegate.要检查您的代理是否正常工作,您可以DelegatorClass使用委托初始化.
class DelegatorClass {
var delegate: MyDelegate? = DelegateClass()
func callDelegate() {
delegate?.delegatedFunction("hello")
}
}
Run Code Online (Sandbox Code Playgroud)
的实例DelegateClass需要将自己设置为实例的委托DelegatorClass
所以,你会得到类似的东西:
class DelegateClass: MyDelegate {
func delegatedFunction (a:String){
print(a)
}
func testFunction() {
var delegator=DelegatorClass()
delegator.delegate=self
delegator.callDelegate()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |