我已经为JSON服务定义了一个回调块,如下所示:

#import "JSONResult.h"
typedef void (^JSONResultHandler)(JSONResult*);

显然,JSONResult类型的参数是自定义类型,并且其头文件包含在定义此块的位置。为什么会出现以下错误?
/Users/oyvind/code/_objc/JSONService.h:22:35: Unknown type name 'JSONResult'

最佳答案

您是否也在JSONResult中导入JSON服务类?也许您有一个循环参考问题。

如果要在JSONResult中导入JSON服务类,并且绝对需要导入,请尝试使用正向声明在.h中导入JSONResult:

@class JSONResult;

@interface SomeJSONService : NSObject

typedef void (^JSONResultHandler)(JSONResult*);

@end

仔细检查您的导入,类名也可以。

关于objective-c - 如何在块中使用自定义类型的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12974149/

10-13 02:50