需求代理 的类
1.定义一个协议,一般以类名加delegate
// 代理 全部都是必须实现
protocol VisitorLoginViewDelegate: NSObjectProtocol {
func visitorRegisterButtonClicked()
func visitorLoginButtonClicked()
}
// 可以设置 optional 可选 必须 用@objc 声明
@objc protocol VisitorLoginViewDelegate: NSObjectProtocol {
func visitorRegisterButtonClicked()
func visitorLoginButtonClicked()
optional func jjj ()
}
2.为类添加代理属性
weak var myDelegate : VisitorLoginViewDelegate?
3.在需要使用代理的位置调用代理方法
func registerClick(){
print("registerClick")
myDelegate?.visitorRegisterButtonClicked()
}
作为一个代理对象
1.想要成为一个对象的代理,必须遵守代理的协议 。
class BaseTableViewController: UITableViewController , VisitorLoginViewDelegate {
}
2.设置自己为某个对象的代理
visitotView?.myDelegate = self
3.实现代理方法 如果必须实现的方法没有实现 会报错
时间: 2024-11-13 08:17:58