8
Cosa c'è di sbagliato con questo codice sotto ARC? Ottengo sopra errore:Errore ARC: i metodi init devono restituire un tipo correlato al tipo di ricevitore [4]
- (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;
}
Sono confuso dal tuo obiettivo qui ... la tua funzione dovrebbe essere 'init'ing' Moment', quindi dovrebbe impostare un 'Moment' e restituire' self'. Quello che stai facendo qui è impostare una proprietà 'self.moment' con il valore di ritorno di aggiungere qualcosa a un modello di oggetto gestito ... –
Uso il codice di qualcun altro (probabilmente non dovrebbe farlo). Ma ho anche provato "Moment * moment" e "return moment", ottengo lo stesso errore del compilatore – Chrizzz
Giusto, ma tipicamente un init è qualcosa nella forma di '- (id) initWithInsert: (BOOL) insert {if (self = [super init]) {// setup} return self} 'Quando ritorni momento restituisci qualcosa che non è presente –