在我的项目中,我有一些委托(delegate)可以很好地处理返回数据,但我想添加一些 subview 或在接收端的委托(delegate)方法中执行任何操作什么都没有发生,但同一方法中的其他代码都可以! 我的另一个问题也与委托(delegate)有关: 这发生在一些委托(delegate)身上。委托(delegate)没有回应,但我在网上发现了一个非常奇怪的修复程序,我需要知道为什么会发生这种情况以及为什么这个修复程序有效!
我的第一个观点:
protocol SomeDelegate {
func someMethod()
}
class FirstViewClass {
//in init or didLoad method
var delegate: SomeDelegate?
// THIS DELEGATE WON'T WORK BUT WHEN I ADD THIS LINE IT WORKS FINE( IT STILL HAS THE ABOVE PROBLEM)
self.delegate = SecondViewClass()
//in some custom method
self.delegate?.someMethod();
}
我的第二个观点:
class SecondViewClass : SomeDelegate {
var firstView = FirstViewClass()
// this is in init or didLoad method
firstView.delegate = self
//this is in some custom method
someMethod()
}
最佳答案
一个简单的工作原型(prototype):
protocol SomeDelegate {
func someMethod()
}
class FirstViewClass {
var delegate: SomeDelegate?
}
class SecondViewClass : SomeDelegate {
var firstView = FirstViewClass()
func someMethod() {
print("called via delegate")
}
}
var firstClass = FirstViewClass()
var secondClass = SecondViewClass()
firstClass.delegate = secondClass
firstClass.delegate?.someMethod()
关于ios - swift 3 中的委托(delegate)不执行 View 相关代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381657/