вопрос о свойствах объекта - PullRequest
1 голос
/ 19 июля 2010

Я новичок в объективе-c и мне было интересно, какой смысл создавать свойства? Я могу просто создать переменную в заголовке? Зачем создавать переменную и свойство с одинаковым именем?

Ответы [ 2 ]

1 голос
/ 19 июля 2010

Более простое управление памятью (для некоторых), лучший дизайн (для всех). Свойства делают ваш открытый интерфейс конкретным классом, и он определяет, что является слабым, а что является сильной ссылкой.

0 голосов
/ 19 июля 2010

В дополнение к тому, что сказал Джошуа: свойства KVC / KVO -совместимы, а переменные - нет, весь Какао стоит на KVO .Вы можете связать свойство и со свойством, вы можете добавить наблюдателя, вы можете использовать valueForKey / valueForKeyPath и их братьев «set» бесплатно.Если значение должно быть опубликовано (т.е. доступно для внешних классов) - создайте свойство, вы получите много вещей бесплатно.Просто убедитесь, что вы установили правильную опцию управления памятью ( назначить , copy или retain ) и модификатор безопасности потока ( nonatomic ).

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