gpt4 book ai didi

ios - Swift - 无法分配给 `delegate` 中的 `newView`

转载 作者:行者123 更新时间:2023-11-28 11:19:39 26 4
gpt4 key购买 nike

我正在使用 Swift 为我创建的自定义类实现委托(delegate)。但是,当尝试将委托(delegate)设置为 self 时,我收到一条错误消息,指出“无法分配给‘newView’中的‘委托(delegate)’。我在这里遗漏了什么吗?

在我的 View Controller 中:

class ViewController: UIViewController, MyDelegate...

var newView = MyClass(frame: CGRectMake(pointX, pointY, 80, 80))
newView.delegate = self

func sayHi() {
print("Hi");
}

在我的自定义类中:

protocol MyDelegate {
func sayHi()
}

class MyClass: UIView {
let delegate : MyDelegate?

func someMethod() {
delegate?.sayHi()
}
}

感谢您的帮助!

最佳答案

您拥有使用 let 声明的 delegate 属性。因此,它只能在构造函数中赋值。将其更改为 var delegate,它应该可以工作。

关于ios - Swift - 无法分配给 `delegate` 中的 `newView`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29474977/

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