根据官方的一些话题,Objective-C中的一个类只应在其标题中公开公共方法和属性:
@interface MyClass : NSObject
@property (nonatomic, strong) MyPublicObject *publicObject;
- (void)publicMethod;
@end
Run Code Online (Sandbox Code Playgroud)
和私有方法/属性应保存在.m文件的类扩展中:
@interface MyClass()
@property (nonatomic, strong) MyPrivateObject *privateObject;
- (void) privateMethod;
@end
Run Code Online (Sandbox Code Playgroud)
并且我认为没有protected类型的私有但可以从子类访问.我想知道,除了公开宣布私有财产/方法之外,还有什么可以做到这一点吗?
inheritance visibility subclass objective-c declared-property
我只是想问是否可以通过类别添加实例变量.我的特殊问题是,我需要将一个NSIndexPath属性添加到ASIHTTPRequest对象,但我不想将ASIHTTPRequest子类化为原则问题.
我有什么选择吗?
谢谢你的回答,克里斯蒂安