Зачем мне писать @synthesize, когда я предоставляю геттер и сеттер?

Так что автосинтез свойств потрясающий. Тем не менее, когда вы предоставляете как геттер, так и сеттер, вы получаете ошибку.

@property (strong, nonatomic) NSArray *testArray;

- (NSArray *)testArray {
    return _testArray;
}

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

Ошибка: .Use of undeclared identifier '_testArray'

Добавление@synthesize testArray = _testArray; решает проблему. Мне просто интересно, почему это так?

Ответы на вопрос(3)

Ваш ответ на вопрос