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

gur*_*het 9 iphone objective-c interface-builder uinavigationcontroller modalviewcontroller

"当以模态方式呈现导航控制器时,以编程方式创建和配置导航控制器对象通常更简单.虽然您也可以使用Interface Builder来执行此操作,但通常不建议这样做." 事实上,因为我的导航控制器很简单,我宁愿在IB中自定义视图!

Max*_*ann 6

虽然我不知道具体原因,但这是我的注意事项:

以编程方式创建控制器时,您只需要几行代码,事实上,在大多数情况下,这可能很少:创建,设置根控制器,呈现和释放.替代品可以快速枚举:

  • 您可以将视图控制器作为底层控制器中的插座.然而,它会一直驻留在内存中.不仅浪费记忆,而且在不需要时也没有太多意义.
  • 您可以将该控制器实例化为nib文件.然而,然而,你必须做很多你要做的事情:
    • 使用alloc,init在代码中创建控制器
    • 设置一些属性 - 在自定义类,笔尖或几行代码中
    • 介绍它
    • 释放它

现在,考虑到替代方案只有几行代码设置,加载nib文件的开销实际上并不是非常便宜,实际上并不值得额外的安慰.如果您正在进行大量设置,那么无论是从nib加载还是在代码中创建,这都会进入自定义类.

只是我的想法......

  • 我不会说"不要使用IB".而是在有意义的地方使用它,在不合适的地方使用它.一个小的ib文件可以节省大量丑陋的设置代码.不是在这里讨论的特定情况,而是在许多其他情况下...... (2认同)