0

クラスのスコープ内のすべてのインスタンス変数も、カテゴリのスコープ内にあります。これには、@ 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のプライベート変数です。
それを可能にするビルドオプションはありますか?それについてはわかりませんか?

4

0 に答える 0