1

私は NS_OPTIONS を持っています:

typedef NS_OPTIONS(NSUInteger, BrowserViewMenuOptions) {
    BrowserViewMenuOptionNone     = 0,
    BrowserViewMenuOptionCopy     = 1 << 0,
    BrowserViewMenuOptionMore     = 1 << 1,
    BrowserViewMenuOptionShare    = 1 << 2,
    BrowserViewMenuOptionDelete   = 1 << 3,
    BrowserViewMenuOptionDownload = 1 << 4,
};

次のような値があるとします。

(BrowserViewMenuOptionCopy | BrowserViewMenuOptionMore | BrowserViewMenuOptionShare)

配列のように列挙するにはどうすればよいですか?

4

1 に答える 1

4

これらはコレクション内の要素とは対照的に定数値であるため、そのまま列挙することはできませんがenum、ギャップのないパターンに従っている場合は、列挙型のすべての数値を生成できます。あなたのものはそうです:

for (unsigned i = 0; i < 5; i++) {
    NSLog(@"value=%u", 1 << i);
}

名前を生成するには、ルックアップ テーブルが必要です。

于 2013-11-04T06:54:37.483 に答える