问题已解决 (error:Cannot assign to 's
2020-02-21 本文已影响0人
zhangyin
有时候我们重写父类的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];
}