ios - Objective-C:如何拒绝子类访问父属性?

标签 ios objective-c

如果我定义了这个类,我如何拒绝访问子类中的 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/

相关文章:

iphone - 如何使用 iPhone SDK 从 SQLite 数据库中获取原始特殊字符?

ios - CCAdvancedMenu boundaryRect

ios - UISplitViewController 仅详细信息 inputAccessoryView

iphone - 如何从另一个场景中弹出特定的Cocos2D场景?

ios - TableView 单元格对齐导致顶部有一些空间

objective-c - 需要帮助编写一个简单的函数来将对象添加到数组( Objective-C )

ios - 应用内购买订阅

iphone - GCD、线程、程序流程和 UI 更新

iphone - 选择时更改按钮文本颜色

ios - Twitter API - STTwitter 库 : Unhandled authentication challenge type - NSURLAuthenticationMethodOAuth2