9

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

4

1 回答 1

6

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

以编程方式创建控制器时,您只需要几行代码,事实上,在大多数情况下,这可能真的很少:创建、设置根控制器、呈现和发布。替代方案很快就可以列举出来:

  • 您可以将视图控制器作为底层控制器的出口。然而,它会一直驻留在内存中。不仅会浪费内存,而且在不需要时也没有太大意义。
  • 您可以将该控制器实例化为一个 nib 文件。然而,然后,你将不得不做很多你会做的事情:
    • 使用 alloc,init 在代码中创建控制器
    • 设置一些属性 - 在自定义类、nib 或几行代码中
    • 呈现它
    • 释放它

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

只是我的想法...

于 2010-09-19T16:38:22.157 回答