指定构造器缺少对超类的指定构造器的超级调用

wat*_*ght 5 cocoa objective-c ios

我的代码在这里:

(instancetype)initWithFrame:(CGRect)frame
{
self = [[[NSBundle mainBundle] loadNibNamed:@"LSCouponADView" owner:Nil options:nil] objectAtIndex:0];
if (self) {

}

    return self;
}
Run Code Online (Sandbox Code Playgroud)

然后xcode有警告

指定构造器缺少对超类的指定构造器的超级调用

当我建造它时。

Mah*_*dra 2

您需要在此方法中添加这一行。

\n\n
self = [super initWithFrame:frame];\nif(self) {\n\n}\nreturn self;\n
Run Code Online (Sandbox Code Playgroud)\n\n

来自苹果文档

\n\n

指定初始化器

\n\n
\n
\n

采用完整初始化参数的类的初始值设定项通常是指定的初始值设定项。子类的指定初始值设定项必须通过向超类发送消息来调用其超类的指定初始值设定项。方便(或辅助)初始化程序\xe2\x80\x94(可以包含 init\xe2\x80\x94)不调用 super。相反,它们使用下一个最多的参数调用(通过给自己的消息)系列中的初始值设定项,为未传递给它的参数提供默认值。本系列中的最后一个初始化程序是指定的初始化程序。

\n
\n
\n