我对Swift和一般编程非常陌生,有点像Fortran 77,以及最近一些简单的微控制器编程.我正在研究基础知识,一切顺利,直到我遇到了一些我无法理解的事情 - 代表们.所有的在线帖子都没有完全理解这个概念,至少对我而言,所以为了给自己一些我可以参考的东西,我在操场上设置了如下所示的基本模板.如果我运行下面的代码它工作并打印"完成的东西"到终端,但如果我使协议成为"类"协议,即"协议SomeDelegate:class {"并使"var委托"成为"弱var委托"按照各种帖子的建议,它不起作用 - 我做错了什么?
import UIKit
protocol SomeDelegate {
func DoSomething()
}
class MyViewcontroller: UIViewController, SomeDelegate {
func DoSomething() {
print("Something done")
}
}
class OtherClass {
var delegate: SomeDelegate?
func DoSomething() {
delegate?.DoSomething()
}
}
var myVar = OtherClass()
myVar.delegate = MyViewcontroller()
myVar.DoSomething()
Run Code Online (Sandbox Code Playgroud)