iphone - Obj-c 中放置 Category 的好地方在哪里?

标签 iphone

我已经向 NSString 添加了一个类别。我尝试将代码放入我的 appDelegate.h 中并且它有效。但是,我尝试将其放置在我从 .pch 文件中包含的另一个 .h 文件中,以便可以在项目范围内使用此类别。但是我不断收到以下错误:

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

奇怪的是,我只在为模拟器而不是设备编译时收到此错误!有什么想法吗?

最佳答案

我总是在 Foo+Category.hFoo+Category.m 中声明类别,例如 NSString+Hashing.hNSString+Hashing.m。然后,在使用类别的源代码中,我导入 Foo+Category.h ,一切都奇迹般地发生。这个解决方案的好处是,在使用它的代码中明确提到了该类别,因此其魔力是显而易见的。

关于iphone - Obj-c 中放置 Category 的好地方在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1067481/

相关文章:

iOS - 多部分/表单数据发布

ios - spritekit 游戏中的音效开/关

ios - 如何播放嵌入在 UIView 中的视频?

iphone - AVPlayer 与 AVAudioPlayer

ios - 尝试在 Swift 中制作圆形 UIView 时出错

ios - 在 iPhone 上使用蓝牙 5

ios - 内存不规则增加只发生在 iPhone XS Max 上

iphone - 控制其他应用程序的音量

iphone - 根据用户事件注销

iphone - 静态常量与定义指令