 
             YepHUD.hideActivityIndicator()
 
-            SafeDispatch.async {
+            SafeDispatch.async { [weak self] in
 
                 saveTokenAndUserInfoOfLoginUser(loginUser)
 
-                self.performSegueWithIdentifier("showRegisterPickAvatar", sender: nil)
+                self?.performSegueWithIdentifier("showRegisterPickAvatar", sender: nil)
             }
         })
     }


        YepHUD.showActivityIndicator()

        verifyMobile(mobile, withAreaCode: areaCode, verifyCode: verifyCode, failureHandler: { [weak self] (reason, errorMessage) in
            defaultFailureHandler(reason: reason, errorMessage: errorMessage)

            YepHUD.hideActivityIndicator()

            if let errorMessage = errorMessage {
                SafeDispatch.async {
                    self?.nextButton.enabled = false

                    YepAlert.alertSorry(message: errorMessage, inViewController: self, withDismissAction: { [weak self] in

        let button = UIBarButtonItem()
        button.title = NSLocalizedString("Next", comment: "")
        button.rx_tap
            .subscribeNext({ [weak self] in
                self?.verifyRegisterMobile() })
            .addDisposableTo(self.disposeBag)
        return button
    }()
