Dlaczego muszę pisać @synthesize, gdy dostarczam getter i setter?

Tak więc auto synteza właściwości jest niesamowita. Jeśli jednak dostarczysz zarówno gettera, jak i setera, pojawi się błąd.

@property (strong, nonatomic) NSArray *testArray;

- (NSArray *)testArray {
    return _testArray;
}

- (void)setTestArray:(NSArray *)testArray {
    _testArray = testArray;
}

Błąd:Use of undeclared identifier '_testArray'.

Dodawanie@synthesize testArray = _testArray; rozwiązuje problem. Zastanawiam się tylko, dlaczego tak jest?

questionAnswers(3)

yourAnswerToTheQuestion