在 Objective C 中隐藏头文件中的实例变量

2023-11-26

我遇到了一个用 Objective C 编写的库(我只有头文件和 .a 二进制文件)。 在头文件中,是这样的:

@interface MyClass : MySuperClass 
{ 
    //nothing here
}

@property (nonatomic, retain) MyObject anObject;
- (void)someMethod;

我怎样才能实现同样的目标?如果我尝试在接口的 {} 内声明一个没有相应 ivar 的属性,编译器将给出错误。最终,我想将类的内部结构隐藏在 .a 中,而只向头文件公开必要的方法。如何在 .m 中声明实例变量?类别不允许我添加 ivar,只能添加方法。


对于 64 位应用程序和 iPhone 应用程序(尽管不在模拟器中),属性合成还能够合成实例变量的存储。

IE。这有效:

@interface MyClass : MySuperClass 
{ 
    //nothing here
}

@property (nonatomic, retain) MyObject *anObject;
@end

@implementation MyClass
@synthesize anObject;
@end

如果您针对 32 位 Mac OS X 或 iPhone 模拟器进行编译,编译器将给出错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Objective C 中隐藏头文件中的实例变量 的相关文章

随机推荐