原因:只能在init方法中给self赋值,Xcode判断是否为init方法规则:方法返回id,并且名字以init+大写字母开头+其他 为准则。例如:- (id) initWithXXX;
出错代码:- (id) XXinit{
self = [super init];
……
}
解决方法:- (id) initXXX
{
self = [super init];
}
我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Cannot assign to 'self' outside of a method in the init family
本文介绍了在Xcode中正确使用init方法的规则。如果在自定义初始化方法中调用父类初始化方法时未遵循命名规范,则会导致编译错误。正确的做法是确保自定义的方法名以init大写字母开头。
1638

被折叠的 条评论
为什么被折叠?



