0
我有两个几乎完全相同的类,但一个是为OS X制作的,另一个是为iOS制作的。然后,我有一个头文件是这样的:防止重复输入消息
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
#import "ClassForOSX.h"
#else
#import "ClassForIOS.h"
#endif
问题是因为这两个类都包含在该项目中,Xcode的编译都和我有很多的错误重复条目,因为方法有相同的名字两个班。
是否有办法阻止类编译,即使它包含在项目中,除非该类是针对目标的?
是的我知道我可以从目标中包含/排除类,但是我正在处理数百个双方和多个目标类,并且会产生很多包含/排除操作,最终会出错。我想知道在代码中是否有一些解决方案,如果目标是正确的,就可以允许类进行编译。
我认为你是对的。这是最好的方式。谢谢!!!!!!! – SpaceDog
这个答案的第一句话很重要:“使用目标最适合你的情况”。这是目标所针对的。针对iOS的一个目标OS X有一个目标,将相应的源文件添加到每个目标。如果由于某种原因无法正常工作,那么只有在这之后,请提交一个错误并遵循上面给出的其他解决方案。你不使用目标的理由对我来说毫无意义。在所有源文件中维护#ifdefs与使用目标一样复杂且容易出错,并且在这两种情况下,如果您不正确执行此操作,则会出现构建错误,因此正确维护目标很容易。 – bhaller