3

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

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

4

2 回答 2

6

您希望公开向其他类公开的任何属性都放在 .h 文件中。“私有”属性(双关语)以匿名类别或类扩展名进入实现文件。例如,您还可以将属性的 .h 版本设为只读,将 .m 版本设为可读写。

具有在私有类别中定义的属性的实现文件

@interface CPClassFileName ()
@property (nonatomic, retain) NSString *string;
@end



@implementation
...
@end
于 2012-07-16T23:05:23.673 回答
0

如果您希望其他类(或开发人员)知道您的 ivars 有访问器,请将 @property 放在标题上。

换个说法:如果你想要“公共”getter / setter,你把@property放在标题上。如果您希望它们是私有的,您可以将 @property 放在 .m 文件中。

于 2012-07-16T23:05:28.993 回答