gpt4 book ai didi

ios - 如何设置子类的委托(delegate)?

转载 作者:行者123 更新时间:2023-11-28 13:13:15 25 4
gpt4 key购买 nike

一切正常,但我正在努力改进它们的工作方式;)

这是我的场景:

我有一个自定义按钮,点击事件触发了 ViewController 中的自定义函数。这是通过委托(delegate)发生的,一切正常。

我正在使用 Storyboard和 control+click 创建自定义按钮的导出,然后在 ViewController 类中设置委托(delegate),例如:

@IBOutlet weak var myButtonInstance: MyButton!

override func viewDidLoad() {
super.viewDidLoad()
myButtonInstance.delegate = self
}

我的问题:

有没有办法从自定义按钮类中设置这个委托(delegate)?我看到在 Swift 中没有 self.parent,这就是我一直在寻找的:

(伪代码)

on custom button initialization:
self.delegate = self.parent

最佳答案

如果我没理解错的话,您想从按钮内部获取对 Controller 的引用以将其设置为代理人!?

您的 UIButton 是 View 层次结构的一部分 - 但是您的 ViewController 不是。对于应用程序的 View 部分的元素访问其 Controller 部分,不存在而且更进一步不应该是一种简单的方法。它应该只通过所述委托(delegate)与 Controller 通信。任何其他内容都会与 MVC 设计模式冲突。

从逻辑上讲,指派其他人作为您的代表是没有意义的。它应该始终是委托(delegate)人通过将自己指定为委托(delegate)人来启动委托(delegate)过程。

关于ios - 如何设置子类的委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30417289/

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