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
继承了哪些属性