我必须依次呈现4个视图控制器。一个是另一个的延续。它们由navigationController呈现。
A> B> C> d
如果我去A,然后去B,然后去C,然后回到B,当我回到C时,第二次看起来更快。我想所有的C都是以某种方式缓存或存储的。这个问题是,例如,C第一次进入而不是第二次进入UIImagePickerController。为什么呢?
UIImagePickerController在C的viewDidLoad中显示,类似于
[self.navigationController presentModalViewController:picker animated:YES];
但显然,如果C被“缓存”,viewDidLoad将不会第二次运行,这就是为什么没有调用选择器,除了第一次。
我喜欢缓存VC的想法,因为它很快就可以前进,但是,我应该把调用放在哪里,所以它被正确调用?我以为它会是viewWillAppear,但我试过了,这种方法永远不会被调用。
任何想法?感谢
答案 0 :(得分:1)
仔细检查viewDidAppear:
。这是您描述的代码的正确位置。如果它没有被调用,那表明你正在做其他错误的事情,或者你正在使用该方法的错误签名。
答案 1 :(得分:1)
没有这样的缓存会省略对viewDidLoad的调用。你总是可以在那里放置断点,看看它是否被调用过。