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("注册")

    }

 

【微分享】:不管脚步有多慢都不要紧,只要你在走,总会看到进步。

posted @ 2016-03-09 09:11  super1250  阅读(116)  评论(0编辑  收藏  举报