В Apple Programming с Objective-C в разделе Encapsulating Data указано, что:
Вы можете определить переменные экземпляра без свойств
Лучше всего использовать свойство на объекте в любое время, когда вам нужно отслеживать значение или другой объект.
Другими словами, они настоятельно рекомендуют использовать частные свойства, а не переменные экземпляра для любого состояния частного объекта.
Мне интересно, почему это может быть так? Я понимаю, что у свойств есть такие функции, как KVO и атрибуты (сильный, слабый...), но во многих случаях мне не нужны эти функции, и переменная экземпляра будет работать нормально.
Есть ли веские причины, почему переменные экземпляра не могут считаться лучшей практикой?