问题已解决 (error:Cannot assign to 'self' outside of a method in the init family)

有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,

错误信息如下:error:Cannot assign to 'self' outside of a method in the init family

原因:只能在init方法中给self赋值,Xcode判断是否为init方法规则:方法返回id,并且名字以init+大写字母开头+其他 为准则。

例如:

  • (id) initWithXXX;

出错代码实例:

- (id) Myinit{
   self = [super init];
    ……
}

出错代码实例:

//with的首字母 为 小写导致本错误;
-(id)initwithMid:(NSInteger)mId {
   self = [super init];
    ……
}

解决方法:

- (id) initWithMy {
 self = [super init];
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容