我有一个方法在其中调用async
方法。在完成async
方法的完成处理程序之前,如何锁定主线程?
答案 0 :(得分:3)
你永远不会锁定主线程,这是一个非常糟糕的用户体验 - 只需禁用整个用户界面(这就是你的意思吗?)。像
这样的东西[UIApplication sharedApplication].keyWindow.userInteractionEnabled = NO;
并在异步操作完成后重新启用它:
[UIApplication sharedApplication].keyWindow.userInteractionEnabled = YES;
但请记住显示一个活动指示符,或某些指示该应用仍在运行。
或者考虑像MBProgressHUD这样的组件。