Ho una classe NSManagedObject
a cui voglio sovrascrivere un setter, ma mi è stato detto che è buona norma non modificare il file di classe generato automaticamente e creare categorie per estenderle (perché se si modifica il modello e si rigenera il file, si perdono tutte le aggiunte).Overriding property setter in una classe di classe
Se faccio un metodo per il setter in una categoria, esegue sicuramente il metodo (testato con NSLog), ma non so come assegnare il valore della proprietà reale. Normalmente, mi piacerebbe sintetizzare la struttura utilizzando
@synthesize finished = _finished;
modo che io possa accedere alla proprietà nella setter utilizzando _finished
, in questo modo:
- (void)setFinished:(NSNumber *)finishedValue {
_finished = finishedValue;
self.end_time = [NSDate date];
}
ma dove la proprietà è definita nel NSManagedObject
questo non sembra possibile.
Perché isn ' è possibile? – trojanfoe
Si ottiene un errore che dice che non è possibile sintetizzare in una categoria – Dan2552
Questo non risponde alla domanda, ma ti porta dove stai andando in un modo diverso: http://compileyouidontevenknowyou.blogspot.com/2012/06/adding -properties-to-class-you-dont.html –