代码之家  ›  专栏  ›  技术社区  ›  mk12

iphone dev-在init或viewdidload中创建数组

  •  4
  • mk12  · 技术社区  · 15 年前

    在我的uiviewcontroller子类中,我应该在init或viewdidload中初始化uipikerview的数据数组,为什么?谢谢。

    3 回复  |  直到 15 年前
        1
  •  3
  •   jbrennan    15 年前

    我会叫它进来的 viewDidLoad 因为视图可以加载多次(也可以卸载,因此您可能还需要重新加载数组)。

    另外,在iPhone上懒散地加载数据也是一个好主意。加载数据 可视负载 比…更懒 init ,如果初始化,这可能会为您带来更好的性能,但不要立即使用视图控制器。

        2
  •  2
  •   Tim    15 年前

    它完全取决于您打算存储的数组以及您打算如何初始化它。 viewDidLoad 可以多次调用(特别是在向程序发送内存不足警告后-非活动视图控制器将卸载其视图,然后在变为活动或再次可见时重新加载它们),但是 init 在对象的生存期内通常只调用一次。

        3
  •  1
  •   Kendall Helmstetter Gelner    15 年前

    在init中这样做的一个例子是,可以在viewwill出现后调用viewdidload。如果您依赖当时存在的数组,则可能需要将初始化设置为init。

    一般来说,viewdidload是一个非常好的地方,只要你记住它可以被多次调用。