iphone - 缓存的UIViewControllers?

时间:2012-01-14 20:42:05

标签: iphone ios

我必须依次呈现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,但我试过了,这种方法永远不会被调用。

任何想法?感谢

2 个答案:

答案 0 :(得分:1)

仔细检查viewDidAppear:。这是您描述的代码的正确位置。如果它没有被调用,那表明你正在做其他错误的事情,或者你正在使用该方法的错误签名。

答案 1 :(得分:1)

没有这样的缓存会省略对viewDidLoad的调用。你总是可以在那里放置断点,看看它是否被调用过。