如何显示新的ViewController并从内存中排除当前
var presentingViewController :UIViewController! = self.presentingViewController;
self.dismissViewControllerAnimated(false) {
// go back to MainMenuView as the eyes of the user
presentingViewController.dismissViewControllerAnimated(false, completion: nil)
}这是可以的,但我想在解散前就能显示装载指示器。
let loadingNotification = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
loadingNotification.labelText = "Retrieving Data"发布于 2016-01-16 16:50:13
如果包含“检索数据”的视图出现需要很长时间,那么初始化代码中可能存在太多耗时的逻辑。您应该考虑将其移动到viewDidAppear或后台线程。通过这种方式,呈现的视图控制器将立即显示(初始状态为“检索数据”)。
另一种方法是创建一个只显示“检索数据”消息的中间视图控制器,显示它而不是新的视图控制器,并在数据检索过程完成后使它呈现新的视图控制器。
解决方案将在很大程度上取决于您用于实现数据检索的机制。无论是同步的还是异步的,都会对如何处理它产生很大的影响。
作为一般规则,您应该避免将时间敏感或cpu密集型代码放置在初始化函数中,如viewDidLoad、viewWillAppear .
https://stackoverflow.com/questions/34827977
复制相似问题