iOS类别中界面符号的可见性

时间:2015-03-03 22:52:49

标签: ios

我正在使用iOS Categories来划分我的代码。对于类“aClass”来访问类别文件“aClass + categoryName”中的符号,我必须在“aClass + categoryName.h”中声明这些符号。我希望这些符号只对“aClass”可见。但是,除非编译器的行为不同,否则对于“aClass”对象而言属于私有的符号实际上对所有对象都是公共的。我的理解是否正确?如果是这样的话,有没有办法从一个类别中分享符号,同时保持它们对班级的私密性?

由于

1 个答案:

答案 0 :(得分:0)

是的,您的理解是正确的 - 头文件中定义的任何内容都是公开的。

创造真正私人'的唯一方法。声明,将在你的aClass.m实现文件中,在私有类别中声明它们,例如。

@interface aClass() // --> private anonymous category
@property (nonatomic, strong) id somePrivateProperty;
@end

@implementation aClass

- (void)someFunction() {
    // can access self.somePrivateProperty
}
@end