[英]Expose a protected Objective-C instance variable to subclass
尝试在子类中实施:
- (UIScrollView *)scrollView {
return [self valueForKey:@"_scrollView"]
}
不幸的是,在Objective-C中无法声明私有实例变量。
无论您希望子类能够看到什么,都必须在.h
文件中声明。 您所讨论的关联引用的工作方式完全相同,但是它们解决了一个不同的问题,即在category中声明实例变量的问题。
这是由于该语言的设计所致,我认为这是因为.m
文件实际上是实现文件,并且没有其他类实际上应该关心另一个的实现,即使具有子类之类的继承关系也是如此。
为您提供该Pod类的私有实例变量的选项是将其放在属性中,或者实际上实现一个类别 ,在其中添加访问它的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.