5

このコンパイラ警告を抑制するにはどうすればよいですか: Meta method 'prefix' in category from '...soap+prefix.o' conflicts with same method from another category? ここにカテゴリ soap+Prefix.h があります:

  @interface Soap (Prefix)

   +(NSString*)prefix;

   @end

および soap+prefix.m:

#import "Soap.h"
#import "Soap+Prefix.h"

 @implementation Soap (Prefix)

  +(NSString*)prefix { return @"EInspector"; }

  @end

ちなみに、これらの 2 つのファイルは、SudZcWeb サービスのラッパーで自動的に生成されます。

ps この警告は XCode 4.4 でのみ発行されます

よろしくお願いします。

4

4 に答える 4

52

これは、ヘッダー ファイル (.h) ではなくカテゴリ (.m) の実装ファイルを誤ってインポートしたときに発生しました。

于 2012-08-25T12:44:05.440 に答える
4

プロジェクトのどこか+[Soap prefix]で、カテゴリで宣言されています。プロジェクトで の他の宣言を検索してみてください+prefix

もう 1 つの可能性は、ファイルの大規模なリファクタリングまたは複雑なマージ中にproject.pbxproj、プロジェクトが同じファイルの 2 つの参照またはコピーになり、両方がコンパイルされていることです。私はそれが起こるのを見てきました.そして、これらの種類の警告またはエラーは通常起こるものです. Finder で同じ名前の他のファイルを検索して、重複したファイルがどこかにあるかどうかを確認してください。

于 2012-07-31T04:00:47.367 に答える
1

同様のものを投稿した誰かによる素晴らしい回答を参照する必要があります。

Xcodeで警告を抑制する方法はありますか?

私の意見では、2 番目 (投票数が最も多い) のオプションが最適です。

于 2012-07-31T03:55:14.930 に答える