在Swift中,可以使用协议(protocol)来实现类的代理回调。以下是一个简单的示例:\n\n首先,在定义类之前,需要定义一个协议来声明代理方法:\n\nswift\nprotocol MyDelegate: AnyObject {\n func didSomething()\n}\n\n\n在类中,可以声明一个可选的代理属性,并在适当的地方调用代理方法:\n\nswift\nclass MyClass {\n weak var delegate: MyDelegate?\n\n func doSomething() {\n // 做一些操作\n // ...\n\n // 调用代理方法\n delegate?.didSomething()\n }\n}\n\n\n在使用该类的地方,需要实现代理方法:\n\nswift\nclass MyViewController: UIViewController, MyDelegate {\n let myClass = MyClass()\n\n override func viewDidLoad() {\n super.viewDidLoad()\n\n myClass.delegate = self\n myClass.doSomething()\n }\n\n func didSomething() {\n // 实现代理方法中的操作\n // ...\n }\n}\n\n\n在上面的示例中,MyViewController实现了MyDelegate协议,并在viewDidLoad方法中将自身设置为MyClass的代理。当MyClassdoSomething方法被调用时,会触发代理方法didSomething。\n\n通过协议和代理,可以实现类的代理回调机制,使得类和其它对象之间可以进行通信和交互。

Swift 类代理回调实现方法详解 - 使用协议轻松实现类间通信

原文地址: https://www.cveoy.top/t/topic/ptwa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录