指定的初始化程序缺少对超类的指定初始化程序的超级调用

Posted

技术标签:

【中文标题】指定的初始化程序缺少对超类的指定初始化程序的超级调用【英文标题】:designated initializer missing a super call to a designated initializer of the super class 【发布时间】:2017-09-01 06:50:48 【问题描述】:

我在 pod 中收到 2 个警告,例如 1. 指定初始化程序缺少对超类的指定初始化程序的超级调用。 2. 指定初始化器应该只在super上调用指定初始化器。

- (instancetype)initWithFrame:(CGRect)ignoredFrame return [self init];

【问题讨论】:

【参考方案1】:

试试下面的代码,这将消除警告

- (instancetype)initWithFrame:(CGRect)ignoreframe 
    self = [super initWithFrame:ignoreframe];
    if (self) 
        // load view frame XIB
    
    return self;

想了解更多详情,请关注here

【讨论】:

以上是关于指定的初始化程序缺少对超类的指定初始化程序的超级调用的主要内容,如果未能解决你的问题,请参考以下文章

Swift:“必须调用超类的指定初始化程序”错误,即使代码正在这样做

必须调用超类“UICollectionView”的指定初始化程序

Swift - 必须调用超类 SKSpriteNode 错误的指定初始化程序

什么时候一个类会有多个指定的初始化器?

Swift4 中 MKPolygon 的指定初始化程序是啥?

如果一个类没有记录的指定初始化程序怎么办?