0

Objective-C を使い始めたばかりなので、これはかなり基本的な質問かもしれません。Objective-C では、デフォルト オブジェクト (UIViewController など) を拡張するときに定数を定義するにはどうすればよいですか。この定数値は、デフォルト オブジェクトを拡張するすべてのオブジェクトで使用されます。

これを行う 1 つの方法は、次のようなオブジェクトのカテゴリを作成することです...

@implementation UIViewController (Constants)

+ (NSString *)navigationView {
    return @"navigationView";
}
+ (NSString *)detailView {
    return @"detailView";
}

@end

カテゴリの実装で値を使用#defineすることもこれでうまくいきますか??? または、これを行うためのより良い方法があるかもしれませんか?

4

1 に答える 1

0

それは結構です。これは期待どおりに機能しますが、より適切な名前を使用することをお勧めします (セレクターnavigationViewは、名前が含まれる文字列ではなく、実際のビューを取得することを示唆しています)。

必要に応じて使用でき#definesます-ヘッダーファイルで直接定義するだけです. または、文字列定数を定義できます。

// in the header

extern NSString* const NAVIGATION_VIEW_NAME; // declaration

// in a .m file somewhere

NSString* const NAVIGATION_VIEW_NAME = @"navigationView"; // definition
于 2012-04-26T10:43:05.420 に答える