【问题标题】:How to access one private instance variable in ios如何在 ios 中访问一个私有实例变量
【发布时间】:2013-04-22 16:51:06
【问题描述】:

我有个问题想咨询你。如下:

A类来自ios框架,A类的一个实例变量B不是public的,可以通过C类中定义的getter方法访问实例变量B吗?C类是A类自定义的。

例子,UIView类的实例变量_viewDelegate。我可以创建一个UIView的类别C来访问实例变量_viewDelegate吗?如果在 C 类中定义方法 -(UIViewController*)viewDelegate;

谢谢你,首先!

【问题讨论】:

标签: objective-c ios6 categories private


【解决方案1】:

如果问题是“我可以通过 Category 访问私有变量”,那么答案是 - 取决于。

首先,变量必须在.h文件中定义。

如果是,那么如果标记为只读,则只能读取。例如: @property(nonatomic,readonly) somePropertyOfClassA

否则,您可以不使用 getter/setter 直接读取/写入属性,例如 @property(nonatomic) NSInteger 标签

UIView _viewDelegate 被标记为@package,这意味着该成员只能从定义它的框架访问,也就是 ios 框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2015-02-13
    • 2017-03-08
    相关资源
    最近更新 更多