swift 代理标注
在 Swift 中,可以使用 protocol 关键字来定义一个代理协议。代理标注是指在协议中声明一个可选的代理属性,并定义代理方法。以下是一个示例:
protocol MyDelegate: class {
func didSomething()
}
class MyClass {
weak var delegate: MyDelegate?
func doSomething() {
// 执行一些操作
delegate?.didSomething()
}
}
class MyViewController: UIViewController, MyDelegate {
let myClass = MyClass()
override func viewDidLoad() {
super.viewDidLoad()
myClass.delegate = self
myClass.doSomething()
}
func didSomething() {
// 处理代理方法
}
}
在上面的示例中,MyDelegate 是一个代理协议,声明了一个 didSomething() 方法。MyClass 是一个包含代理属性的类,当执行 doSomething() 方法时,会调用代理的 didSomething() 方法。
MyViewController 是一个视图控制器,它遵循了 MyDelegate 协议,并实现了 didSomething() 方法。在 viewDidLoad() 方法中,将 MyClass 的代理设置为 MyViewController 实例,并调用 doSomething() 方法。
通过使用代理标注,可以实现对象之间的通信和解耦
原文地址: https://www.cveoy.top/t/topic/hIc7 著作权归作者所有。请勿转载和采集!