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