如果我定义了这个类,我如何拒绝访问子类中的 someObject
属性?
@interface ForeignSuperClass
// I can not modify the file
@property (nonatomic) NSObject *someObject;
@end
.
@interface MySubClass : ForeignSuperClass
// this is good for reuse someObject
// but how can I be denied access to the someObject for SubClasses - MySubClass
@end
那些将继承我的类 MySubClass
的人,没有访问属性 someObject
最佳答案
您应该将 @property
声明放在您的 .m 文件中,而不是您的 .h 文件中。这将使它在子类中不可见(假设您没有导入 .m 文件)。
值得注意的是,这只是隐藏了属性。从技术上讲,您仍然可以使用 Objective-C 和 iOS SDK 中可用的任何动态消息传递技术(如 setValue:forKey:
等)来访问这些方法。
关于ios - Objective-C:如何拒绝子类访问父属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33677898/