[问题] dismissViewController

楼主: y03131003 (Jimmy)   2014-02-26 15:23:05
我有A, B, C, D 四个viewController
A 是 rootViewController(TabBarViewController)
B 是 用AVFoundation写的相机
A 用 modal 的方式叫出了 B
B 用 modal 的方式叫出了 C
C 用 modal 的方式叫出了 D
我想在D里按一个按钮回到A
一开始是在storyboard里直接拉一个segue到A
然后performSegueWithIdentifier
不过这样似乎有memory leak的问题,多重复几次这个步骤内存就直线上升
最后导致当机
后来查了一下发现要回到 A 只要在 D里取得rootViewController
然后rootViewController呼叫 dismissViewController 就行了
如下
[[[[UIApplication sharedApplication] keyWindow] rootViewController]
dismissViewControllerAnimated:NO completion:nil];
这样的确可以成功,可是按下按钮后大概要等2秒才会回到A..
请问有办法按下的瞬间就回到A吗?
用performSegue的方法可以瞬间,但是多重复几次就当机了...
楼主: y03131003 (Jimmy)   2014-02-26 16:45:00
我觉得很有可能是因为中间有个相机的viewController..
作者: uranusjr (←這人是超級笨蛋)   2014-02-26 17:18:00
你先一层一层 dismiss 看看到底是哪一个在慢
作者: howdiun (Howdiun)   2014-02-26 17:21:00
相机要关掉比较好吧....

Links booklink

Contact Us: admin [ a t ] ucptt.com