我有个问题想咨询你。如下:</p>
A类来自ios框架,A类的一个实例变量B不是public的,可以通过C类中定义的getter方法访问实例变量B吗?C类是A类自定义的。</p >
例如,UIView类的实例变量_viewDelegate。我可以创建一个UIView的类别C来访问实例变量_viewDelegate吗?如果在 C 类中定义方法 -(UIViewController*)viewDelegate;
谢谢,第一!
我有个问题想咨询你。如下:</p>
A类来自ios框架,A类的一个实例变量B不是public的,可以通过C类中定义的getter方法访问实例变量B吗?C类是A类自定义的。</p >
例如,UIView类的实例变量_viewDelegate。我可以创建一个UIView的类别C来访问实例变量_viewDelegate吗?如果在 C 类中定义方法 -(UIViewController*)viewDelegate;
谢谢,第一!
如果问题是“我可以通过类别访问私有变量”,那么答案是 - 取决于。
首先,必须在 .h 文件中定义变量。
如果是,那么如果标记为只读,则只能读取。例如:@property(nonatomic,readonly) somePropertyOfClassA
否则,您可以在没有 getter/setter 的情况下直接读取/写入属性,例如 @property(nonatomic) NSInteger 标签
UIView _viewDelegate 被标记为@package,这意味着该成员只能从定义它的框架访问,即 ios 框架。