这是我的问题。
假设我有一个名为 WebServiceBase.h 的类。我需要在该类中添加一个名为 NSString *requestData 的 iVar。但我不需要将该 iVar 添加到头文件中并使其对外部人员可见。 (如果我将其作为类库分发)
另外,我需要能够在从 WebServiceBase.h 扩展的其他类中访问此 requestData iVar。 (这些扩展类是我自己写的,不是外部人写的)
我尝试在类扩展中声明 requestData iVar。但扩展类就看不到它了。
有什么解决办法吗?我需要保护我的数据并使其对外部世界隐藏。
您可以通过以下方式将您的 ivars 定义为受保护@protected
关键字,这意味着您的类和所有子类都可以毫无问题地访问它,但编译器不允许其他不从基类继承的类这样做:
@interface Foo : NSObject
{
@protected
NSObject *a;
}
就这么简单,并且已经为您提供了可以从 Objective-C 获得的所有安全性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)