类范围内的所有实例变量也在类范围内。这包括类声明的所有实例变量,甚至是声明为@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 中的私有变量。
是否有允许我这样做的构建选项,我不知道?