码迷,mamicode.com
首页 > 其他好文 > 详细

关于error:Cannot assign to 'self' outside of a method in the init family

时间:2014-07-16 15:44:36      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   strong   问题   代码   

今天在编写model时,突然发现了“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{

  if(self = [super init]) {
    ...
  }
  return self;
}
- (id) initwithMy

{
  if(self = [super init]) {
    ...
  }
  return self;

}

解决方法:

- (id) initWithMy

{
  if(self = [super init]) {
    ...
  }
  return self;
 }

关于error:Cannot assign to 'self' outside of a method in the init family,布布扣,bubuko.com

关于error:Cannot assign to 'self' outside of a method in the init family

标签:style   blog   color   strong   问题   代码   

原文地址:http://www.cnblogs.com/JuneWang/p/3848149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!