我有一个标题(@interface),我在其中声明了一个枚举器。
我引用该枚举器的类型作为我的initWithDelegate构造函数的参数,但XCode并未将其视为有效类型。
我很欣赏这方面的一些建议。
以下是代码:
#import <Foundation/Foundation.h>
@interface ReportLoader : NSObject
@property (nonatomic, strong) NSString* fileKey;
//Issue with this line at the pReportType parameter declaration.
-(NSObject*)initWithDelegate:(NSObject*)pDelegate andService:(ServiceReference*)pService andFileKey:(NSString*)pKey andReportType:(ReportType)pReportType;
typedef enum ReportTypes
{
GridReport = 1,
TableReport = 2,
FlowReport = 3,
}ReportType;
@end
答案 0 :(得分:1)
如果您使用typdef
作为枚举,则无法声明前向声明(就像您对稍后声明的类使用@class
一样)。
解决此问题的最简单方法是将枚举定义放在最上面,在您使用它的函数之上。