Ios Swift-无法分配给`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

我正在使用Swift为我创建的自定义类实现一个委托。但是,当尝试将委托设置为self时,我收到一个错误,该错误表示“无法在“newView”中分配给“delegate”。我是否缺少某些内容

在我的视图控制器中:

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的响应作为答案吗?谢谢!