UIView.init()来自哪里?

时间:2017-01-02 23:41:40

标签: ios swift

我已经在Stack Overflow上阅读了elsewhere,UIView从NSObject继承了init()。但是,这没有意义。由于UIView定义了自己的指定初始化器,因此应该阻止初始化器继承。或者,当swift类继承自objective-c类

时,该规则是否会被更改

1 个答案:

答案 0 :(得分:3)

请记住,UIView是一个Objective-C类,而Objective-C不是Swift。 Objective-C中没有关于指定和便利初始化器及其继承规则的规则 - 在Swift中使用这些类时有时会导致严重问题。也就是说,实际上,UIView的init()是一个调用init(frame: .zero)的便捷初始值设定项。