Прямой доступ к IVars для не-объектов из другого класса? - PullRequest
0 голосов
/ 30 сентября 2010

В Objective-C 2.0 я обычно делаю свойство assign для иваров, которые являются примитивными типами, такими как float.Затем мне пришло в голову, что я могу получить к ним доступ снаружи класса с пометкой obj->variable.Я представляю, что это плохая практика: так?

1 Ответ

2 голосов
/ 30 сентября 2010

Да, это плохая практика, потому что она нарушает инкапсуляцию деталей реализации вашего класса. Объявление @property является общедоступным оператором API («мой класс предоставляет свойство типа, например float), а не оператором реализации (« мой класс имеет float переменную экземпляра »). Клиенты API вашего класса не должны знать подробности его реализации, чтобы вам было запрещено изменять эти детали без нарушения клиентского кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...