2014-09-29 12 views
17

की मैं एक वर्ग 'नाम' कहा जाता है में शामिल करने की कोशिश की और मैं एक त्रुटि मिली:स्विफ्ट कंपाइलर त्रुटि: उपयोग अनसुलझे पहचानकर्ता 'नाम'

Swift Compiler Error: Use of unresolved identifier 'name' 

वर्ग मौजूद है और शामिल नहीं है किसी भी त्रुटि संकलित करें।

+0

वास्तव में आप कैसे दिखा घोषित वर्ग बहुत मददगार होगा कोड का एक टुकड़ा जोड़ना, खासकर उन लोगों के लिए जो एक ही मुद्दे का सामना कर रहे हैं। –

उत्तर

58

कुछ संभावित मुद्दे हो सकते हैं।

  1. वर्गों में से एक एक परीक्षण लक्ष्य है और एक दूसरे को नहीं करता है। आपको अपने सभी वर्गों को परीक्षण लक्ष्य में या उनमें से कोई भी शामिल करना होगा।

  2. यदि यह उद्देश्य सी क्लास है, तो जांचें कि क्लास ऑब्जेक्टिव सी ब्रिजिंग हेडर फ़ाइल में है।

  3. यदि यह NSManagedObject उपclass है। कक्षा घोषणा से पहले @objc(className) जोड़ें।

  4. यदि यह एक अलग ढांचे का हिस्सा है, यह सुनिश्चित करें कि वर्ग या समारोह public

+0

इसका असफल होने का उदाहरण, कृपया ... – Grimxn

+3

उदाहरण के लिए, यदि एक वर्ग में एक परीक्षण लक्ष्य है और दूसरा कोई –

+0

हम्म नहीं है, तो मेरे पास केवल एक लक्ष्य है, निर्माण लक्ष्य है, और यह अभी भी काम नहीं करता है। Vojtech कोई और सुझाव? –

6

मैं इस एक भी था है या नहीं। आपको शायद पता चलेगा कि आपकी पहली कक्षा आपके परीक्षण मॉड्यूल में शामिल है और "नाम" नहीं है। बस, यदि आप परीक्षण में कक्षा शामिल करते हैं, तो प्रत्येक वर्ग जो संदर्भ में है उसे परीक्षण में होना चाहिए।

5

मुझे यह समस्या भी थी। मैं कक्षा 2 में कोड के भीतर कक्षा 1 का संदर्भ देने की कोशिश कर रहा था। मेरी समस्या यह थी कि कक्षा 2 में ए और बी में सदस्यता सदस्यता थी, और कक्षा 1 में केवल कक्षा ए

में लक्ष्य सदस्यता थी, आप इसे खोलकर इसे ठीक कर सकते हैं उपयोगिता टैब (एक्सकोड विंडो के शीर्ष पट्टी पर सबसे दूर दाएं बटन), और सुनिश्चित करें कि लक्षित सदस्यता उपखंड में दोनों वर्गों के लिए एक ही बॉक्स चेक किए गए हैं।

-1

सूची में एक और जोड़ें।

  1. यदि यह किसी अन्य ढांचे का हिस्सा है, तो सुनिश्चित करें कि "केवल सक्रिय आर्किटेक्चर बनाएं" सेटिंग्स समान हैं।
+0

उन सेटिंग्स के साथ, आप ऐप जारी नहीं कर पाएंगे। अपने आर्किटेक्चर का समर्थन करने वाले ढांचे का उपयोग करना सुनिश्चित करें। –

+0

सच नहीं है। आप ऐप को तब तक रिलीज़ कर सकते हैं जब तक "केवल सक्रिय आर्किटेक्चर बनाएं" को "रिलीज़" के लिए "नहीं" पर सेट किया गया है। मैंने "अनसुलझा पहचानकर्ता का उपयोग" त्रुटि का अनुभव किया जब मेरे ढांचे ने इसे "डीबग" के लिए "हां" पर सेट किया था, लेकिन मेरे ऐप में "डीबग" के लिए "नहीं" था। –

1

गॉट समस्या से

लक्ष्य हल -> निर्माण के चरण -> संकलित स्रोत -> वर्ग फ़ाइल

संबंधित मुद्दे