2009-07-01 6 views
2

NSStringにカテゴリを追加しました。私はappDelegate.hにコードを配置しようとしました。しかし、私は.pchファイルからインクルードした別の.hファイルに配置しようとしました。このため、このカテゴリはプロジェクト全体で使用できます。しかし、私は次のエラーを取得保管:私はシミュレータではなく、デバイス用にコンパイルするときObj-cにカテゴリを配置する場所はどこですか?

ld: duplicate symbol .objc_category_name_NSString_StringTrim in ....AppDelegate.o and .....main.o 
collect2: ld returned 1 exit status 

奇妙なことがあり、私はこのエラーを取得します!何か案は?

答えて

4

私はいつもFoo+Category.hFoo+Category.mのカテゴリを宣言します。例えば、NSString+Hashing.hNSString+Hashing.mです。カテゴリを使用しているソースでは、Foo+Category.hをインポートするとすべてが不思議に思えます。この解決策の良い点は、カテゴリが明示的に言及されていることです。その結果、魔法が明らかになります。

+0

私は通常「FooAdditions.h」と一緒に行くが、私はあなたのやり方が好きだ。私は変わったと考えてください。 –

関連する問題