为什么会提到NS_DESIGNATED_INITIALIZER
最近在清理项目警告,遇到了“Method override for the designated initializer”的警告,全称为:
- Method override for the designated initializer of the superclass '-init' not found 或者
- Method override for the designated initializer of the superclass '-initWithNibName:bundle:' not found。
经排查是因为头文件中出现NS_DESIGNATED_INITIALIZER 声明的初始化方法,如下:
如果用了NS_DESIGNATED_INITIALIZER,那么警告中出现init还是initWithNibName或是其它,取决于你的继承的父类类型:
UIViewController
- Method override for the designated initializer of the superclass '-initWithNibName:bundle:' not found
- Method override for the designated initializer of the superclass '-initWithCoder:' not found
UIView
- Method override for the designated initializer of the superclass '-initWithFrame:' not found
- Method override for the designated initializer of the superclass '-initWithCoder:' not found
NSObject
-
Method override for the designated initializer of the supercl