ios – ARC错误:init方法必须返回与接收器类型相关的类型[4]

前端之家收集整理的这篇文章主要介绍了ios – ARC错误:init方法必须返回与接收器类型相关的类型[4]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
ARC下的这段代码有什么问题?我得到以上错误
- (Moment *)initMoment:(BOOL)insert {

if (insert) {
    self.moment = [NSEntityDescription insertNewObjectForEntityForName:@"Moment" inManagedObjectContext:self.managedObjectContext];
  } else {
    self.moment = [NSEntityDescription insertNewObjectForEntityForName:@"Moment" inManagedObjectContext:nil];
  }
return self.moment;
}

解决方法

发布在问题中的init方法格式错误. init方法应该(通常)具有以下形式:
-(id)initWithParams:(BOOL)aBoolParam {
    if (self = [super init]) {
        //do stuff
    }
    return self;
}

上面代码的问题是它是作为一个类方法完成的,所以如果海报想要这样做,他必须做片刻= [[Moment alloc] init]并返回它.

猜你在找的iOS相关文章