2009-07-01 28 views
2

我已經添加到NSString的類別。我試圖把代碼放在我的appDelegate.h中,它可以工作。不過,我已經嘗試將它放在另一個.h文件中,該文件包含在.pch文件中,以便此類別可用於項目範圍。但是我一直得到以下錯誤:哪裏是一個放置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。在使用類別I的源中,然後導入Foo+Category.h,並且所有內容都可以工作。這個解決方案的好處在於,在使用它的代碼中明確地提到了類別,這樣就可以看出魔法。

+0

我通常去「FooAdditions.h」但我喜歡你的方式。考慮我轉換。 – 2009-07-01 17:34:12

相關問題