在我的 UIViewController 子类中,我应该在 init 或 viewDidLoad 中初始化 UIPickerView 的 NSArray 数据吗?为什么?谢谢。
问问题
4195 次
3 回答
3
我会调用它,viewDidLoad
因为视图可以多次加载(也可以卸载,因此您可能还想重新加载数组)。
此外,大多数时候在 iPhone 上懒惰地加载数据是个好主意。加载数据比 加载数据viewDidLoad
要慢得多init
,如果你初始化它可能最终会为你表现得更好,但不要立即使用你的视图控制器。
于 2009-08-16T23:06:58.503 回答
2
这取决于您打算存储数组的确切内容,以及您打算如何初始化它。viewDidLoad
可以多次调用(尤其是在向您的程序发送内存不足警告后 - 非活动视图控制器将卸载它们的视图,然后在它们再次变为活动或可见时重新加载它们),而init
通常只会在生命周期内调用一次目的。
于 2009-08-16T22:54:38.377 回答
1
在 init 中执行此操作的一种情况是 viewDidLoad 可以在 viewWillAppear 之后调用。如果您依赖当时存在的数组,则可能需要将初始化放在 init.xml 中。
一般来说,viewDidLoad 是一个很好的地方,只要你记住它可以被多次调用。
于 2009-08-17T02:33:30.747 回答