के कारण - मैं एनएसईआरआरआर में त्रुटि डोमेन के रूप में उपयोग करने के लिए एनएसएसटींग को परिभाषित कर रहा था और यह कॉपी कर रहा था कि ASIHttpRequest कैसा चल रहा था।एलडी: डुप्लिकेट प्रतीक -
NSString* const FPServerAPIErrorDomain = @"FPServerAPIErrorDomain";
मैं अपनी ही ज फ़ाइल // FPServerAPICoordinatorConstants.h
#ifndef FirePlayer_FPServerAPICoordinatorConstants_h
#define FirePlayer_FPServerAPICoordinatorConstants_h
NSString* const FPServerAPIErrorDomain = @"FPServerAPIErrorDomain";
#endif
में स्थिरांक डाल लेकिन जब मैं एक से अधिक मीटर
SomeFile.m
#import "FPServerAPICoordinatorConstants.h"
SomeOtherFile.m
#import "FPServerAPICoordinatorConstants.h"
में शामिल मुझे मिल गया लिंकर त्रुटि 'डुप्लिकेट प्रतीक'
ld: duplicate symbol _FPServerAPIErrorDomain in SomeFile.o and ....SomeOtherFile.o for architecture armv7
इसलिए मैं कॉन्स को #define में बदलता हूं और यह ठीक काम करता है।
// FPServerAPICoordinatorConstants.h
#ifndef FirePlayer_FPServerAPICoordinatorConstants_h
#define FirePlayer_FPServerAPICoordinatorConstants_h
//THIS WAS TRIGGERING link errors
//NSString* const FPServerAPIErrorDomain = @"FPServerAPIErrorDomain";
//working OK
#define FPServerAPIErrorDomain @"FPServerAPIErrorDomain"
#endif
लेकिन क्या वैश्विक अंतरिक्ष में स्थिरता को 'डुप्लिकेट प्रतीक' फेंकने का कोई तरीका नहीं है?
यदि आप फ़ाइल जादू शामिल करते हैं, तो आपका प्रश्न वही है: "क्या मैं ** कॉन्स int i = 42; ** एक ही स्रोत/बाइनरी में दो बार कर सकता हूं? –
हाँ लेकिन यह भी कि आप कैसे नहीं करते #defines का उपयोग करें और वैश्विक अंतरिक्ष में कॉन्स का उपयोग करें? क्या यह संभव है? क्या यह पसंद किया गया है? # परिभाषित काम करता है लेकिन फिर क्यों है? मैं एक जावा व्यक्ति ओबज-सी में स्थानांतरित हो गया हूं, मैं वूडू 101 में अभी तक योग्य हूं –
आपने कॉपी नहीं किया है ASIHttpRequest बिल्कुल क्या कर रहा है वापस जाएं और फिर से देखो – hooleyhoop