【发布时间】:2014-09-24 16:31:48
【问题描述】:
所以我最近开始使用 Swift,基本上我有一个 UILabel 用来显示错误消息。该标签最初是隐藏的(通过情节提要的隐藏复选标记,我也尝试将其设置为隐藏在 viewDidLoad 中)。
当用户单击登录时,一个 apicontroller 类会发布到后端服务器以检查凭据。 apicontroller 有一个在completionHandler 中调用的委托(NSURLSession.dataTaskWithRequest)。 viewcontroller 中的协议方法检查 http 状态,如果它是 200,它会移动到下一个视图。但是,如果不是 200,视图控制器会取消隐藏错误标签
(self.errorLabel.hidden = false and self.erorLabel.text = "ERROR MESSAGE HERE").
这是我的问题:
当 errrlabel 应该不隐藏时,我将它的 hidden 属性设置为 false,println("should be unhidden now") 并显示警报。警报和打印语句会立即执行。但是,标签需要几秒钟才能显示出来。
我已经在模拟器中的 4s、5、5s 和 6 以及实际的 5s 上尝试过这个,但我仍然遇到这个问题。我还尝试使用self.view.setNeedsDisplay() 手动刷新视图,但它仍然无法正常工作。
有什么想法吗?
【问题讨论】:
-
您应该包含代码的相关部分,或者最好包含足够的代码以允许其他人重现该问题。