gpt4 book ai didi

ios - swift 3 中的委托(delegate)不执行 View 相关代码

转载 作者:行者123 更新时间:2023-11-28 08:12:21 24 4
gpt4 key购买 nike

在我的项目中,我有一些委托(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com