2014-09-20 32 views
10

我在所有三个enum s上收到错误function definition is not allowed here。我最近更新到Xcode 6.0.1,现在我收到了这个错误。我该如何解决这个错误,我应该避免使用这个宏。我还将目标SDK设置为支持这些宏的ios 6.0。NS_ENUM - 函数定义不允许在这里

BConstants.h 

#ifndef asdf_BPConstants_h 
#define asdf_BPConstants_h 


typedef NS_ENUM(NSUInteger, BTheme) { 
    kField 
}; 

typedef NS_ENUM(NSUInteger, BItem) { 
    kBox 
}; 

typedef NS_ENUM(NSUInteger, BMovementState) { 
    kTouchUp, 
    kTouchDown 
}; 

#endif 

回答

12

导入UIKit为我解决了这个问题。

#import <UIKit/UIKit.h> 
+5

需要明确的是,这里的线路事项的顺序。你必须在你输入后输入'NS_ENUM(...'block **。@alfavata(answer below)是正确的,'Foundation'就足够了。如果你需要UIKit功能,导入UIKit '带着'基金会'一起。 – mbm29414 2015-04-16 19:27:23

21

导入Foundation应该足够了。

@import Foundation; 

(我已经加入这个马特的答案,但我没有信誉发表评论,抱歉)