initWith试试看,你的好像小写了
init方法中不能给self赋值
明显少了return self;
加上 return self报什么错?
你可以
if ( ! self) {
self = [[XXX alloc] init];
}
self.XXX = XXx;
return self;
调用super init是重写init方法的时候调用的,你的便捷构造方法应该用 self = [[XXX alloc] init]; ,然后对self相应的元素赋值
在if的条件判断中,要用 == 不能是 =,==代表逻辑判断,= 代表赋值运算
还有就是如果是有返回值的,一定要return
你把代码改成这样就可以了
self = [super init];
if(self){
//你的代码
}
return self;
是不是父类没有 init方法
检查一下父类
==号,
还有return self
init方法重写下看看
估计是系统判断你的方法开头是initwith而不是init所以禁用了!