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

为什么苹果建议以编程方式创建模态导航控制器?

  •  9
  • gurghet  · 技术社区  · 15 年前

    “当以模式呈现导航控制器时,通常更容易以编程方式创建和配置导航控制器对象。尽管您也可以使用Interface Builder来执行此操作,但通常不建议这样做。” 如果事实上,因为我的导航控制器很简单,我宁愿在ib中定制视图!

    1 回复  |  直到 14 年前
        1
  •  6
  •   Max Seelemann    15 年前

    虽然我不知道确切的原因,但这是我的目标:

    以编程方式创建控制器时,您只需要几行代码,实际上,在大多数情况下,这可能非常少:创建、设置根控制器、呈现和释放。备选方案很快就可枚举:

    • 您可以将视图控制器作为底层控制器中的出口。然而,它会一直存在于内存中。这不仅是浪费记忆,而且在不需要的时候也没有太多意义。
    • 您可以将该控制器实例化为一个NIB文件。然而,你必须做很多你想做的事情:
      • 用alloc,init代码创建控制器
      • 在自定义类、NIB或几行代码中设置一些属性
      • 介绍它
      • 释放它

    现在,考虑到替代方法只是代码的几行设置,加载一个NIB文件的开销,实际上并不非常便宜,并不值得额外的舒适。如果您进行了大量的设置,那么不管是从NIB加载还是在代码中创建,这都将进入自定义类。

    只是我的想法…