Я никогда не использую ивар. Я использую только свойства - иногда присваиваю свойства примитивным типам, а иногда и " частное "расширение класса. Я видел преимущества отказа от использования ivars при переходе на ARC - у меня есть некоторый заимствованный код с большим количеством ivars, которые я все еще не могу использовать с ARC, так как я не знаю, что нужно сохранить. Итак, я знаю некоторые преимущества отсутствия использования ivars, но каковы преимущества использования ivars вместо свойств?
Примечание: я полагаюсь исключительно на ivars, которые автоматически добавляются (компилятором?) Для объявления свойства.
Не закрывать: Я рассмотрел некоторые другие вопросы, например this и this, и ни один из них не попал в точку. Заголовки выглядят хорошо, но, как и многие вопросы по SO, вопросы представляют собой беспорядок странных сомнений и прочего.
self.thing = that
иthing = that
. Так? - person Dan Rosenstark   schedule 14.09.2011@private
и т. Д.) С помощью свойств? Я знаюreadonly
иreadwrite
, но могут ли они (возможно, с помощью расширений классов) охватить все необходимые области? - person Stuart   schedule 15.09.2011@private
достаточно легко имитировать, но@protected
уже сложнее (как заставить подклассы использовать расширение класса, а другие классы игнорировать его?). Итак, я думаю, вы подошли к началу очень интересного ответа. К сожалению, этот вопрос не подхватили 63 тысячи горилл, которые могли ответить на него без каких-либо поисков в Google или исследований, так что это мы. - person Dan Rosenstark   schedule 15.09.2011