[英]When changing view controllers, new controller appears, but disappears almost immediately
我在我的IBAction之一(按下按鈕時)中有此代碼,應該可以調出一個新的視圖控制器。
let addAlertVC = self.storyboard?.instantiateViewController(withIdentifier: "addAlert")
self.present(addAlertVC!, animated: false, completion: nil)
但是,當我運行該應用程序並按一下應該帶我到新的viewcontroller
的按鈕時,然后我被原來的viewcontroller
困住了。 我已經在新視圖控制器的viewDidAppear
函數中添加了一條打印語句,並且每當我按下按鈕時它就會打印出來,因此肯定會出現新的控制器。 我尚未在應用程序中的任何地方解雇新控制器。
我在應用程序的其他部分中使用了相同的代碼,因此對於為什么這次無法正常工作感到非常困惑。
任何幫助將不勝感激。
編輯:我修復了我的代碼。 事實證明,並不是我在錯誤地調用視圖控制器,而是我的按鈕。 刪除並重新添加按鈕后,我的代碼即可正常工作。
呈現視圖控制器后,很有可能將其釋放。
嘗試在該函數之外的控制器中聲明您的視圖控制器。 就像是:
class ViewController{
var addAlertVC:UIViewController?
...
func someFunction(){
addAlertVC = self.storyboard?.instantiateViewController(withIdentifier: "addAlert")
self.present(addAlertVC!, animated: false, completion: nil)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.