我正在 iOS 应用程序中实现一些 RESTful API,目前正在开发登录功能。用户输入用户名和密码,当按下登录时会发生以下情况:
网络活动指示器变为可见,文本标签变为隐藏(以及登录按钮),活动指示器变为可见并且带有文本“登录”的标签。然后:
dispatch_async(queue,
^{[self performSelectorOnMainThread:@selector(performAuthCall)
withObject:nil waitUntilDone:YES];});
在 performAuthCall 方法中,视图控制器的属性(布尔值)设置为 YES 或 NO,取决于登录是否成功(我使用 NSURLConnection 的 sendSynchronousRequest)。如果是,则显示另一个视图控制器。如果不是,则会显示警报。我并没有真正得到我想要的结果,控制器在执行请求之前正在测试成功的登录布尔值,我尝试了不同的方法,但我无法让它正常工作并且不冻结 UI。所以,我的问题是:
我怎样才能首先使所有隐藏/显示的东西(比如使活动指示器和“登录”标签可见),然后开始授权过程,等到它完成,然后才转到另一个视图控制器或显示警报或东西?