在初始化UIView
时,我只是好奇;我注意到当我调用实例构造函数-(id)initWithFrame:(CGRect)frame
时,原始构造函数-(id)init
实际上从未被调用过,这意味着我必须在两个构造函数中初始化实例变量。这是否意味着是一种优化策略,以便调用-(id)initWithFrame:(CGRect)frame
在计算上更快,并且#34; (鼓励更好的表现)而不是打电话给UIView *view = [UIView new]; view.frame = frame;
? initWithFrame选项比创建新实例并手动分配其框架更快吗?我实际上更喜欢使用后者来保持程序的一致性。
答案 0 :(得分:2)
不,initWithFrame
只是UIView
的{em>指定初始化程序(来自class reference):
<强>讨论强>
必须将新视图对象插入视图中 可以使用之前窗口的层次结构。如果您创建一个视图 以编程方式对象,此方法是指定的初始化程序 UIView类。子类可以覆盖此方法以执行任何操作 自定义初始化但必须在他们的开头调用super 实施