Ios Swift-无法分配给`newView`中的`delegate``
我正在使用Swift为我创建的自定义类实现一个委托。但是,当尝试将委托设置为self时,我收到一个错误,该错误表示“无法在“newView”中分配给“delegate”。我是否缺少某些内容 在我的视图控制器中:Ios Swift-无法分配给`newView`中的`delegate``,ios,swift,delegates,Ios,Swift,Delegates,我正在使用Swift为我创建的自定义类实现一个委托。但是,当尝试将委托设置为self时,我收到一个错误,该错误表示“无法在“newView”中分配给“delegate”。我是否缺少某些内容 在我的视图控制器中: class ViewController: UIViewController, MyDelegate... var newView = MyClass(frame: CGRectMake(pointX, pointY, 80, 80)) newView.delegate = self
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
声明的委托
属性。因此,它只能在构造函数中分配。将其更改为var delegate
,它应该可以工作。您拥有使用let
声明的委托
属性。因此,它只能在构造函数中分配。将其更改为var delegate
,它应该可以工作。您使用let
声明了delegate
属性。因此,它只能在构造函数中分配。将其更改为var delegate
它应该可以工作。您使用let
声明了delegate
属性。因此,它只能y将在构造函数中分配给。将其更改为var delegate
,它应该可以工作。您是否确保该类符合其自己的协议?更多的代码会很有帮助,尤其是声明协议和委托的部分。委托和自我的类型是什么?只需使用更多的代码更新即可将代码发布到您创建的位置e一个MyClass实例并分配委托并调用该方法?你能投票支持我的评论并选择ad121的响应作为答案吗?谢谢!你确定该类符合它自己的协议吗?更多的代码会很有帮助,特别是声明协议和委托的部分。委托和自我的类型是什么?刚刚更新h更多代码您可以发布代码,在其中创建MyClass实例并分配委托并调用该方法吗?您可以投票支持我的评论并选择ad121的响应作为答案吗?谢谢!您是否确保该类符合其自己的协议?更多代码会很有帮助,尤其是声明协议和委托的部分。我想知道委托和自我的类型是什么?刚刚更新了更多的编码你可以发布代码在哪里创建MyClass实例并分配委托并调用方法吗?你可以投票给我的评论并选择ad121的响应作为答案吗?谢谢!你确保类符合它自己的协议了吗?更多的代码会很有帮助,尤其是声明协议和委托之前。委托和自我的类型是什么?刚刚更新了更多的编码。您可以发布代码,在其中创建MyClass实例并分配委托并调用方法吗?您可以投票支持我的评论并选择ad121的响应作为答案吗?谢谢!