如果不是,並且它需要包含在一個單獨的文件中(例如MyEnums.h),每次.m或.h文件想要引用該類型還是其中一個值時,是否需要#import MyEnums.h ?可以在與Objective-C中使用它的類頭相同的文件中定義枚舉嗎?
這裏的MyClass.h的示例代碼:
#import <Foundation/Foundation.h>
// #1 placeholder
@interface MyClass : NSObject {
}
// #2 placeholder
- (void)sampleMethod:(MyEnum)useOfEnum;
// #3 placeholder
@end
這裏是我試圖定義枚舉:
typedef enum MyEnum {
Value1,
Value2
}
如果我試着將我的枚舉定義在#1,我得到錯誤:在'interface'之前可能沒有指定類型或存儲類。
如果我試着將我的枚舉定義在#2,我得到錯誤:預期標識符或「(」前「端」
如果我試着將我的枚舉定義在#3,我得到錯誤:在'MyEnum'之前預期')'。這是抱怨參數「useOfEnum」,因爲它的類型尚未定義。
那麼可以這樣做嗎?或者最好的方法是做什麼,並限制所需#imports的數量?
它也可以在位置2或在枚舉實際使用之前的任何其他位置工作 - 但它在視覺上更加難於除位置1之外的任何地方。 – Chuck 2009-07-30 00:56:07