我知道其他类可以调用的方法应该在头文件中。但是当@property 应该在头文件中以及何时应该在实现文件中时,我有点困惑。
你是如何做出这个决定的,它有什么不同?
您希望公开向其他类公开的任何属性都放在 .h 文件中。“私有”属性(双关语)以匿名类别或类扩展名进入实现文件。例如,您还可以将属性的 .h 版本设为只读,将 .m 版本设为可读写。
@interface CPClassFileName ()
@property (nonatomic, retain) NSString *string;
@end
@implementation
...
@end
如果您希望其他类(或开发人员)知道您的 ivars 有访问器,请将 @property 放在标题上。
换个说法:如果你想要“公共”getter / setter,你把@property放在标题上。如果您希望它们是私有的,您可以将 @property 放在 .m 文件中。