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]; }

或者:
- (id) initWithmy
{
 self = [super init];
}
解决方法:

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

 

posted @ 2014-09-13 22:32  2014_4_30  阅读(178)  评论(0编辑  收藏  举报