swift学习记录之代理
/// 访客视图的协议
protocol VisitorLoginViewDelegate: NSObjectProtocol {
func visitorLoginViewWillRegister();
func visitorLoginViewWillLogin();
}
/// 访客视图
class VisitorLoginView: UIView {
// 定义代理 weak
weak var delegate: VisitorLoginViewDelegate?
// 注册按钮点击 >> 把代理传出去
@objc private func clickRegister() {
delegate?.visitorLoginViewWillRegister()
}
// 登录按钮点击 >> 把代理传出去
@objc private func clickLogin() {
delegate?.visitorLoginViewWillLogin()
}
}
/// 设置访客视图
private func setupVistorView() {
visitorView = VisitorLoginView()
// 设置代理
visitorView?.delegate = self
// 替换根视图
view = visitorView
// 设置导航按钮
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorLoginViewWillRegister")
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorLoginViewWillLogin")
}
// MARK: VisitorLoginViewDelegate >> 实现代理方法
func visitorLoginViewWillLogin() {
print("登录")
}
func visitorLoginViewWillRegister() {
print("注册")
}
【微分享】:不管脚步有多慢都不要紧,只要你在走,总会看到进步。