2010-07-19 2 views
1

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

ответ

0

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

+0

-1 Свойства не имеют отношения к KVC и KVO. KVC и KVO отлично работают без свойств и даже не распознают их. –

1

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

Смежные вопросы