数据隐藏和Objective-C合成器

时间:2013-04-03 17:17:19

标签: objective-c

如果属性需要是私有的并且语言支持自动getter / setter方法创建,那么应该如何声明属性呢?

是否可以根据需要覆盖自动创建的getter或setter?

1 个答案:

答案 0 :(得分:3)

在.m(实现)文件的顶部:

// Private category on your class, declared at top of implementation file.
@interface MyClass ()
@property (nonatomic, copy) NSString * privateString;
@end

@implementation
... 
@end

这些“私有属性”仅在您的实现中可见。 请注意 ObjC没有运行时访问限制功能。如果他们想要,其他对象仍然可以调用您的私有getter和setter(虽然这会生成编译器警告)。