登录&注册代理回调

  • 定义协议
/// 访客视图协议
protocol VisitorViewDelegate: NSObjectProtocol
{
    /// 将要登录
    func visitorViewLogin()
    /// 将要注册
    func visitorViewRegister()
}

定义协议时,需要继承自 NSObjectProtocol,否则无法设置代理的类型

  • 定义代理
/// 定义代理 - 一定要用 weak
    weak var delegate: VisitorViewDelegate?
  • 按钮回调
/// 点击注册按钮
func registerBtnClick()
    {
        // OC 中需要 isResponse
        delegate?.visitorViewRegister()
    }

/// 点击登录按钮
func loginBtnClick()
    {
        delegate?.visitorViewLogin()
    }
  • 遵守协议
class BaseTableViewController: UITableViewController, VisitorViewDelegate
  • 设置代理
// 设置代理
visitorLoginView?.delegate = self
  • 实现方法
// MARK: - 访客视图协议方法
/// 用户注册
func visitorViewRegister() {
        print(__FUNCTION__)
    }

/// 用户登录
func visitorViewLogin() {
        print(__FUNCTION__)
    }
  • 修改导航条按钮监听方法
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewRegister")
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewLogin")

运行测试

results matching ""

    No results matching ""