我为 JSON 服务定义了一个回调块,如下所示:
#import "JSONResult.h"
typedef void (^JSONResultHandler)(JSONResult*);
显然,JSONResult 类型参数是一个自定义类型,它的头文件包含在定义该块的位置。为什么我会收到以下错误?
/Users/oyvind/code/_objc/JSONService.h:22:35: Unknown type name 'JSONResult'
我为 JSON 服务定义了一个回调块,如下所示:
#import "JSONResult.h"
typedef void (^JSONResultHandler)(JSONResult*);
显然,JSONResult 类型参数是一个自定义类型,它的头文件包含在定义该块的位置。为什么我会收到以下错误?
/Users/oyvind/code/_objc/JSONService.h:22:35: Unknown type name 'JSONResult'
您是否也在导入您的 JSON 服务类JSONResult
?也许你有一个循环引用问题。
如果您正在导入 JSON 服务类JSONResult
并且该导入是绝对必要的,请尝试使用前向声明在您的 .h 中导入 JSONResult:
@class JSONResult;
@interface SomeJSONService : NSObject
typedef void (^JSONResultHandler)(JSONResult*);
@end
仔细检查您的导入和类名也可以。
检查您是否已JSONResult.h
正确导入标头JSONService.h
:
#import "JSONResult.h"