![](/img/trans.png)
[英]How to dismiss the current ViewController and change to the new ViewController in Swift?
[英]How to present new ViewController and dismiss the current from memory
如何呈現新的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"
如果花很長時間才出現包含“檢索數據”的視圖,則初始化代碼中的邏輯可能太耗時。 您應該考慮將其移動到viewDidAppear或后台線程。 這樣,顯示的視圖控制器就立即顯示出來(初始狀態為“正在檢索數據”。
完成此操作的另一種方法是創建一個僅顯示“正在檢索數據”消息的中間視圖控制器,而不是新的視圖控制器將其顯示,並在數據檢索過程完成后使其呈現新的視圖控制器。
解決方案將在很大程度上取決於您用於實現數據檢索的機制。 無論是同步還是異步都會對如何實現產生很大的影響。
通常,應避免將對時間敏感或占用大量CPU的代碼放在初始化函數(例如viewDidLoad,viewWillAppear ...)中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.