ios - 在类实例变量之前声明时出现 NS_ENUM 错误

标签 ios objective-c cocoa

示例 .h 文件:

@interface MyClass : NSObject


typedef NS_ENUM(int, myType) {
    Something,
    SomethingElse,
    SomethingElseElse,
    YetAnotherSomethingElse
};

{ //Error On This Line: Expected Identifier or '('

    int aInstanceVariable;

}


//Some Methods go here
@end

为什么我会收到该错误(请参阅上面代码中的注释)?它在类实例变量声明下方时工作正常,但我想将它用作我的实例变量之一的类型。

最佳答案

感谢@CarlVeazey,我发现答案很简单:将 typedef 声明移至 @interface 上方。这样做的原因是类型不能由类或类的实例拥有,因此不能在类的接口(interface)中。

关于ios - 在类实例变量之前声明时出现 NS_ENUM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18368267/

相关文章:

ios - UITextField 的代表不工作...返回按钮没有响应

ios - 新任务不等待GCD Barriers

objective-c - preferredLocalization 和 preferredLanguage 之间有什么区别?

cocoa - cocoa /ARC-为什么将结构作为参数传递会导致对自动释放池的错误访问?

iphone - 支持带有文本字段的 uialertview

iphone - 仅在 UIImageView 的非透明像素上有效地检测触摸

ios - AVAssetExportSession 视频未保存到相机卷轴

ios - touchBegan 和 TouchEnded 重写正在影响另一个 UIViewController

objective-c - 使用 ALAssetLibrary 快速知道图像 Assets 是横向还是纵向?

objective-c - 未在 setStringValue 上调用 ControlTextDidChange