使用xib和通过代码添加页面元素有什么区别?
如果我使用xib,如何分配内存?
答案 0 :(得分:3)
使用xib和通过代码添加页面元素有什么区别?
我所知道的唯一真正的区别是使用代码很棒,建议初学者使用它们来理解UIKit的工作原理。
如果我使用xib,如何分配内存?
就像你手动创建对象一样,例如,它不是你的视图控制器执行[[UIImageView alloc] init]
而是UIKit中的默认工厂类(很可能是{的一些私有子类{1}})。
答案 1 :(得分:1)
使用XIB与对象创建/布局的代码之间存在一个主要的非显着差异:Interface Builder不为每个接口类类型的每个属性提供设置 - 对于某些属性,您只需要使用代码。
在界面构建器中,有些事情很难/很麻烦,甚至不可能,但在代码中却很容易。至少在ios3 / 4天内,设置导航控制器以及在界面构建器中自定义其标题栏真是太痛苦了 - 我总是使用代码。
答案 2 :(得分:0)
由于XIB由序列化对象组成而已,因此在分配对象后,使用Interface Builder或在代码中实现接口对象不会对内存使用产生影响。每种方法都有其优点和缺点。首先,您可能会发现通过在代码中创建接口对象,您可以更好地控制接口的行为和外观。而使用Interface Builder可以使得通过图形界面更轻松地布置对象的任务。