Объявляя ваше свойство 'a', вы разрешаете хранить int в вашем классе, и вы можете получить к нему доступ из вашего класса, но только в вашем классе.Если вы хотите, чтобы это было свойство, которое доступно другим объектам (публичное свойство), вам понадобятся методы получения и установки.
Объявляя его как @property
в вашем .h
и используя @synthesize
в вашем .m
вы автоматически создаете два метода:
[myObject a]; // your getter
[myObject setA:50]; // your setter
Здесь нужно помнить, что часто очень полезно использовать синтетические свойства даже в вашем классе, потому что они будутпозаботьтесь об управлении своей памятью.Например, когда вы помечаете @property
как retain
:
objectProperty = anObject; // just accessing locally, no memory management
self.objectProperty = anObject; // [anObject retain] will be called
self.objectProperty = nil; // [anObject release] will be called