Точечная нотация против квадратных скобок и приведение типов в Objective-C

Что из следующего лучше всего подходит для Objective-C?

UITableView* view = (UITableView*) [self view];
[view setSeparatorColor:[UIColor blackColor]];
[view release];

vs.

((UITableView*) self.view).separatorColor = [UIColor blackColor];

Или есть лучший способ написать это? self.view - это UIView * .

Я спрашиваю и потому, что у меня странно выглядящий состав (может быть, есть способ получше?), И из-за следующего текста из официальная документация, которая намекает, что это больше, чем просто вопрос стиля или личных предпочтений:

Еще одним преимуществом является то, что компилятор может сигнализировать об ошибке, когда он обнаруживает попытку записи в объявленное свойство только для чтения. Если вместо этого вы используете синтаксис квадратных скобок для доступа к переменным, компилятор - в лучшем случае - генерирует только предупреждение необъявленного метода о том, что вы вызвали несуществующий метод установки, и код не работает во время выполнения.

11
задан rid 9 June 2011 в 12:39
поделиться