我可以访问类别中的私有变量,但不能访问框架变量。为什么?

时间:2012-11-14 09:40:49

标签: objective-c ios macos cocoa

  

类范围内的所有实例变量也在该类别的范围内。这包括类声明的所有实例变量,甚至是声明为@private的实例变量。

因此,我可以这样做(并且有效):

@interface MyControl : UISearchDisplayController
{
    @private
    int privateInteger;
}
@end

@implementation MyControl
@end

@interface MyControl (Private)
@end

@implementation MyControl (Private)

- (void)myMethod
{
    privateInteger = 0;
}

@end

但为什么我不能这样做(我得到一个未定义的符号链接错误):

@interface UISearchDisplayController (MyCategory)
@end

@implementation UISearchDisplayController (MyCategory)

- (void)myMethod
{
    _dimmingView = nil;
}

@end

_dimmingView是UISearchDisplayController中的私有变量 是否有一个构建选项允许我这样做,我不知道?

0 个答案:

没有答案