मैं एक फ़ाइल में नीचे एक NS_ENUM परिभाषित किया गया है:संदर्भ अस्पष्ट उद्देश्य-सी
typedef NS_ENUM (NSUInteger, LinkPlatformType){
LinkPlatformTypeEmail = 1,
LinkPlatformTypeFacebook,
LinkPlatformTypeGoogle
};
जब मैं एक स्विच मामले करने की कोशिश:
- (void)linkWithType:(LinkPlatformType)linkType {
switch (linkType) {
case LinkPlatformTypeGoogle:
break;
case LinkPlatformTypeFacebook:
break;
default:
break;
}
}
मैं एक निर्माण त्रुटि हो रही है: Reference to LinkPlatformTypeGoogle is ambiguous
। Reference to LinkPlatformTypeFacebook is ambiguous
।
अपडेट:
फ़ाइल defines.h जो मैं परिभाषित enum उदाहरण के लिए में लक्ष्य 1 है, और एक कक्षा StoreClass जो इस defines.h फ़ाइल आयात नहीं है। और StoreClass.m लक्ष्य सदस्यता मैंने एकाधिक लक्ष्यों के रूप में सेट किया है: लक्ष्य 1 और लक्ष्य 2. इसलिए ऐसा करने के बाद, Reference to LinkPlatformTypeFacebook is ambiguous
दिखाई दिया। क्या यह कारण होगा?
आप enum के लिए एक अलग नामकरण के साथ की कोशिश की के लिए काम किया? मेरा सबसे अच्छा अनुमान यह है कि यह सिर्फ एक नामकरण संघर्ष हो सकता है और संकलक को पता नहीं है कि संदर्भ क्या है। – Vlad
मैंने नई परियोजना के साथ आपके जैसा कोड भी कोशिश की है .. मुझे इस तरह की कोई त्रुटि नहीं मिल रही है, बस यह सत्यापित करने के लिए कि आप फ़ाइल आयात करते हैं? और हाँ मैंने NS_ENUM को defines.h फ़ाइल में रखा है जो हेडर फ़ाइल है। –
@Vlad मैंने दो बार चेक किया। कोई नामकरण संघर्ष नहीं है। मैंने केवल अपनी परियोजना में एक परिभाषित किया है। –