0

部分的に書き直す必要があるフレームワークがあり、AFNetworking を採用しています。このため、バージョン 2 は異なるスーパークラス (AFHTTPClient) である必要があります。私はプリプロセッサフ​​ラグを持ち、条件付きでこれを宣言しようとしています。

これが私のコードです:

#define TLC_FRAMEWORK_VERSION 2

#if TLC_FRAMEWORK_VERSION == 1
@interface TKSession : NSObject
#elif TLC_FRAMEWORK_VERSION == 2
@interface TKSession : AFHTTPClient
#endif
{
@private
    NSMutableArray  *_cachedShifts;
}

コンパイラ(clang)は、基本的に前処理後に宣言がコンパイラによって適切に読み取られていないことを示すエラーを返します。それはこれを見ていると思います:

#define TLC_FRAMEWORK_VERSION 2

{
@private
    NSMutableArray  *_cachedShifts;
}
...

私は何を間違っている/行方不明ですか?

4

2 に答える 2

-2

さて、私は自分の質問に答えます。これは、そのフラグを使用してインポートしていたヘッダーが何らかの理由で適切に解析されないというスコープの問題でした。私は忙しすぎて、コンパイラの問題や例外について詳しく調べることができないので、ローカルでフラグを宣言しています。

于 2013-09-17T15:17:15.893 に答える