Ios 使用[UIView new];,有任何注意事项吗;?
被认为基本上总是使用指定的初始值设定项,当使用Ios 使用[UIView new];,有任何注意事项吗;?,ios,uiview,cgrect,designated-initializer,Ios,Uiview,Cgrect,Designated Initializer,被认为基本上总是使用指定的初始值设定项,当使用[UIView new]创建新的ViewInstance时,我觉得有点脏而不是[[UIView alloc]initWithFrame:CGRectZero] 有什么理由不这样做吗? 实际上有什么区别吗?如果您正在创建一个没有任何帧信息的新视图实例,那么回退到[UIView new]简单地删掉大量的代码垃圾?我猜是[[UIView alloc]initWithFrame:CGRectZero]实际上是在引擎盖下调用的(?)[UIView new]是替
[UIView new]创建新的ViewInstance时,我觉得有点脏代码>而不是[[UIView alloc]initWithFrame:CGRectZero]代码>
有什么理由不这样做吗?
实际上有什么区别吗?如果您正在创建一个没有任何帧信息的新视图实例,那么回退到[UIView new]代码>简单地删掉大量的代码垃圾?我猜是[[UIView alloc]initWithFrame:CGRectZero]
实际上是在引擎盖下调用的(?)[UIView new]
是替换[[UIView alloc]init]
的一种方便方法,因此它与[[UIView alloc]initWithFrame:CGRectZero]
有什么理由不这样做吗`
在这种情况下,我会说“是”。在这种情况下,您不能保证init
等同于initWithFrame:CGRectZero
我猜是
有可能你是对的,两人的行为完全相同;这不是未来的证明。像这样的实现细节可能会改变
一,。可能不同,我不知道initWithFrame:
在引擎盖下做了什么。我最近想知道[UIView new]
也有同样的事情。在一个新的代码示例中使用它时,我遇到了Jame的答案中包含的问题。当我恢复到[[UIView alloc]initWithFrame:CGRectZero]时,这些问题就解决了。
至少我知道新的UIView
继承了哪些属性