1

私は次のようにJSONサービスのコールバックブロックを定義しました:

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

明らかに、JSONResult型付き引数はカスタム型であり、そのヘッダーファイルはこのブロックが定義されている場所にインクルードされます。なぜ次のエラーが発生するのですか?

/Users/oyvind/code/_objc/JSONService.h:22:35: Unknown type name 'JSONResult'
4

2 に答える 2

3

JSONサービスクラスもインポートしていますJSONResultか?循環参照の問題があるかもしれません。

にJSONサービスクラスをインポートしJSONResultていて、そのインポートが絶対に必要な場合は、前方宣言を使用して.hにJSONResultをインポートしてみてください。

@class JSONResult;

@interface SomeJSONService : NSObject

typedef void (^JSONResultHandler)(JSONResult*);

@end

インポートを再確認してください。クラス名も問題ありません。

于 2012-10-19T12:46:47.667 に答える
0

JSONResult.hヘッダーが正しくインポートされていることを確認してくださいJSONService.h

#import "JSONResult.h"
于 2012-10-19T12:22:30.893 に答える