【问题标题】:For a UItableViewController loaded from IB, where to put non view related initialization code对于从 IB 加载的 UItableViewController,非视图相关的初始化代码放在哪里
【发布时间】:2012-01-07 03:18:21
【问题描述】:

标题已经说明了这一点。

我有一个 UITableViewController。我有一些要初始化的数组。这些与任何观点无关。只是纯粹的后端数据。我应该把它们放在哪里?

我不想将它们放在 viewDidLoad 中,因为每次出现内存问题时,视图都会被卸载。而且每次加载视图时都不需要进行这些初始化。

显然不是 viewWillAppear。

我尝试过的其他地方是 initWithCoder 和 awakeFromNib。

但是我观察到的是,如果我有一个 tabBarController,每个选项卡都有一个 UItableviewController,在第一次加载应用程序时,即使选择的选项卡是第一个选项卡,也会为所有其他选项卡调用 awakeFromNib 和 initWithCoder。

我不希望这样,因为这些初始化可能会延迟到第一次实际选择选项卡。

请指教。

【问题讨论】:

    标签: iphone xcode uitabbarcontroller uitableview


    【解决方案1】:

    对于您正在寻找的行为组合,我认为解决方案是在-viewDidLoad 中执行您的初始化,从而尽可能晚地推迟它,但有条件地这样做,这样您就不会在控制器重新加载时重新初始化您的数组它的观点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多