操作UIAlert被解雇后导致dealays

时间:2016-03-19 12:59:14

标签: ios swift uialertview

我目前正在为我的应用程序制作注册表。一旦用户点击注册按钮,就会向用户发出警报以确认该号码并继续。

警报的屏幕截图:

enter image description here

如果用户点击取消,我执行以下操作:

/*** Reset Mobile Number Input ***/
                        self.flagMobileNumber = 0
                        self.validatorIconMobileNumber.setImage(nil, forState: UIControlState.Normal)
                        self.mobileNumberInput.text = ""
                        self.mobileNumberInput.becomeFirstResponder()

                    /*** Disable Register Button ***/
                        self.registerButton.alpha = 0.5
                        self.registerButton.userInteractionEnabled = false

但是在所有操作完成之前发生了相当大的延迟。

有人可以解释为什么会发生这种情况以及可以采取哪些措施来防止这种情

1 个答案:

答案 0 :(得分:1)

您可能不在主线程上,不鼓励在不同的线程(主线程除外)上执行UI操作,并且通常需要时间。

尝试在主线程上执行UI工作:

dispatch_async(dispatch_get_main_queue(), ^{
// do UI stuff here
});