我正在研究一個應用程序,其中根視圖控制器稱爲「ROOT」,呈現次視圖控制器的視圖,稱爲「A」,該視圖嵌入一個導航控制器,稱之爲'NAV'。無法關閉導航控制器中嵌入的兩個視圖控制器
'ROOT'在其類實現中通過以下調用模態地呈現'A'。
self.presentViewController(A, animated: true, completion: nil)
'A'視圖中的按鈕然後將'B'推到'NAV的視圖控制器棧上。
在'B類實現中,當按下按鈕時,我試圖將用戶發送回'ROOT'負責的視圖。以下方法處理:
self.presentViewController(ROOT, animated: true, completion: nil)
下面的電話都沒有,儘管我相信他們應該考慮到「A」是由「根」模態呈現:
self.navigationController?.presentingViewController.dismissViewControllerAnimated(true, completion: nil)
self.navigationController?.dismissViewControllerAnimated(true, completion: nil)
然而,我發現,以下兩個對象均爲'無'
self.navigationController?.presentingViewController
self.navigationController?.presentedViewController
爲什麼沒有工作的呼叫不起作用?這不是正確的方法嗎?
是不是實際工作的方式基本上添加另一個視圖和視圖控制器在內存中跟蹤?因此,如果我一遍又一遍地從「根」到「A」到「B」並回到「根」,它最終會使用太多的內存?
爲什麼最後列出的兩個對象顯示爲零?
你不應該提出A,你應該提出淨資產值。 – rdelmar