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