2013-07-16 28 views
2

我想要typedef在幾個類中通用的枚舉。我可以:Obj-C:Typedefs跨類?

  • 1製作的typedef在一個類中的其他人直接

  • 2繼承了的typedef枚舉爲每個類的。

  • 3爲NSObject創建一個類別,然後在那裏鍵入枚舉枚舉。

雖然第一個選項不需要重複 - 我認爲這是最好的三個 - 它只是感覺不對僅僅只是一個枚舉創建一個全新的類。這是反模式嗎?有沒有更好的辦法?

回答

4

通常做過這樣的:

#ifndef SomeEnum_enum 
#define SomeEnum_enum 

typedef enum { 
    SomeEnumOne, 
    SomeEnumTwo, 
    SomeEnumThree 
} SomeEnum; 

#endif 

你必須把你的枚舉在.H文件,它可以是一個類中的一個,一個單獨的文件只是枚舉,一個類別,它真的沒關係。

現在你可以把它放在任何你想要的地方,你只需要包含.h文件

+0

是的。只要把它放在一個頭文件和#import從任何需要它的類。 C'typedefs'不以任何方式作用於Objective-C類。 – ipmcc

+0

@ipmcc是的,忘了寫,謝謝 – NSAddict