Использование синтаксиса точки не является стилем кодирования или вопросом вкуса!
Синтаксис точки предназначен для доступа к свойствам.Синтаксис отправки сообщений предназначен для методов диспетчеризации.Концептуально это две разные вещи.Устаревшая и обратная совместимость с Objective-C 1.0, к сожалению, делает их взаимозаменяемыми, что вызвало много путаницы.
Прогнозировать, использовать ли пользователь с точечным синтаксисом или нет, просто:открытый заголовок объявляет что-то как свойство , а затем обращается к нему как к свойству, используя точечный синтаксис , как явно намеревался автор интерфейса!
Если публичныйзаголовок объявляет что-то как
метод , а затем обращается к нему с помощью
синтаксиса отправки сообщений , как явно намеревался автор интерфейса! Make
NO исключения.
Сложный вопрос: должны ли вы объявить что-то как свойство и, таким образом, сказать своим клиентам, что следует использовать doit-синтаксис, или вы должны объявить метод?Ответ прост:
- Использовать свойства для состояний (что-то) .
- Использовать методы для поведения (что-то сделать / вычислить) .
Другое практическое правило заключается в том, что свойства должны быть автономными, другого способа изменить значение свойства быть не должно, кромеустановить само свойство.Это не жесткое правило, используйте здравый смысл, существует много разумных исключений.Например, свойство hidden
, которое можно изменить с помощью метода setHidden:animated:
.