2013-12-09 42 views
0

我有這樣的typedef:的typedef與不同類別的同名Objective-C的

//MyClass_1.h 

typedef enum 
{ 
    edit, 
    copy, 
    paste 
} textAction; 

,當我想這個的typedef在MyClass_2.h:

//MyClass_2.h 

typedef enum 
{ 
    edit, 
    copy, 
    paste 
} textAction; 

我有錯誤的:typedef重新定義與類型('枚舉textAction'與'枚舉textAction')。在MyClass_2.h中,我沒有使用#import MyClass_2!爲什麼我有這個錯誤?

+1

都具有相同的值,以便您可以使用已創建的值。 – Vinodh

+0

爲什麼你必須在兩個文件中定義?你不能只用Constants.h和'#import'在兩個地方? –

+0

因此,typedef枚舉{編輯,複製,粘貼} textAction;是全球運營? – rubik

回答

2

在這兩個類中使用相同的枚舉。 將枚舉放在.h文件中,並將其包含在其他文件中.h 這種方式爲編譯器準備了完全相同的枚舉。

你使用它的方式,它是鏈接器/編譯器和東西的2個不同(但相同的)枚舉。