iOS时@property应该在.h以及.m时

时间:2012-07-16 22:50:23

标签: ios xcode

我知道可供其他类调用的方法应该在头文件中。但是当@property应该在头文件中并且它应该在实现文件中时,我有点困惑。

你如何做出这个决定,它有什么不同?

2 个答案:

答案 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文件中。