任何希望公开给其他类的属性都应该在.h文件中定义。'private'属性(双关语)应该被放到实现文件中的一个匿名类别或类扩展中。你也可以将.h版本的属性设置为只读,而将.m版本设置为可读写。 使用私有类别定义属性的实现文件示例 @interface CPClassFileName () @property (nonatomic, retain) NSString *string; @end @implementation ... @end
如果你想让其他类(或开发者)知道你的实例变量有访问器,就在头文件上使用@property。换句话说: 如果你想要“公共”的getter/setter,就在头文件上使用@property。如果你想要它们是私有的,就在.m文件上使用@property。