NS_ENUM - 此处不允许使用函数定义

Mic*_*ael 11 ios

我收到了function definition is not allowed here所有三个错误enum.我最近更新到Xcode 6.0.1,现在我收到了这个错误.如何避免使用此宏,如何修复此错误.我还将目标SDK设置为支持这些宏的ios 6.0.

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
Run Code Online (Sandbox Code Playgroud)

Ant*_*ata 25

进口Foundation应该足够了.

@import Foundation;
Run Code Online (Sandbox Code Playgroud)

(我会把这个添加到Matt的答案中,但我没有评论的声誉,抱歉)


Mat*_*ros 14

导入UIKit为我修复了这个问题.

#import <UIKit/UIKit.h>
Run Code Online (Sandbox Code Playgroud)

  • 要清楚,行的顺序在这里很重要.你需要放置`NS_ENUM(...`块****你进行导入.@ alfavata(下面的答案)是正确的,'基础'就够了.如果你需要`UIKit`功能,导入`UIKit `带来`基金会'. (6认同)