Mam klasę, którą chcę zastąpić setera, ale powiedziano mi, że dobrą praktyką jest nie modyfikować automatycznie wygenerowanego pliku klasy i tworzyć kategorie, aby zamiast tego je rozszerzyć (ponieważ jeśli zmienisz model i zregenerujesz plik, stracisz wszystkie swoje dodatki).Przesłaniam ustawianie właściwości w kategorii klasy
Jeśli wykonam metodę dla osoby ustawiającej w kategorii, to zdecydowanie uruchamia ona metodę (testowaną przy użyciu NSLog), ale nie wiem, jak przypisać rzeczywistą wartość właściwości. Normalnie bym syntetyzować bezpośrednio personelowi
@synthesize finished = _finished;
tak, że można uzyskać dostęp do właściwości w seter korzystając _finished
, tak:
- (void)setFinished:(NSNumber *)finishedValue {
_finished = finishedValue;
self.end_time = [NSDate date];
}
ale w którym nieruchomość jest zdefiniowany w NSManagedObject
to nie wydaje się możliwe.
Dlaczego isn to jest możliwe? – trojanfoe
Otrzymujesz komunikat o błędzie z informacją, że nie można zsyntetyzować w kategorii – Dan2552
Nie odpowiada to na pytanie, ale przenosi Cię tam, gdzie zmierzasz w inny sposób: http://compileyouidontevenknowyou.blogspot.com/2012/06/adding -properties-to-class-you-dont.html –