initWithFrame比view.frame更快?

时间:2014-08-08 12:09:24

标签: ios objective-c performance uiview

在初始化UIView时,我只是好奇;我注意到当我调用实例构造函数-(id)initWithFrame:(CGRect)frame时,原始构造函数-(id)init实际上从未被调用过,这意味着我必须在两个构造函数中初始化实例变量。这是否意味着是一种优化策略,以便调用-(id)initWithFrame:(CGRect)frame在计算上更快,并且#34; (鼓励更好的表现)而不是打电话给UIView *view = [UIView new]; view.frame = frame;? initWithFrame选项比创建新实例并手动分配其框架更快吗?我实际上更喜欢使用后者来保持程序的一致性。

1 个答案:

答案 0 :(得分:2)

不,initWithFrame只是UIView的{​​em>指定初始化程序(来自class reference):

  

<强>讨论

     

必须将新视图对象插入视图中   可以使用之前窗口的层次结构。如果您创建一个视图   以编程方式对象,此方法是指定的初始化程序   UIView类。子类可以覆盖此方法以执行任何操作   自定义初始化但必须在他们的开头调用super   实施