Xcode केवल C और ऑब्जेक्टिव-सी कोड को रिफ्लेक्टर कर सकता है। Xcode 6 में स्विफ्ट क्लास का नाम कैसे बदला जाए?


103

मैंने Xcode 6 बीटा संस्करण में एक नया एकल दृश्य अनुप्रयोग प्रोजेक्ट बनाया है। मैं स्विफ्ट क्लास का नाम बदलकर ViewController.swiftकिसी और नाम पर रखना चाहता हूं । लेकिन जब मैं Refactor -> का नाम बदलें, तो यह त्रुटि देता है Xcode can only refactor C and Objective-C code

यहां छवि विवरण दर्ज करें

किसी भी विचार कैसे Xcode 6 में स्विफ्ट क्लास का नाम बदलने के लिए?

अपडेट करें:

अंत में Xcode 9 Swift के लिए Refactoring का समर्थन कर रहा है। इस मूल सुविधा को जोड़ने में Apple को 3 साल का समय लगा। पुनर्रचना


9
वर्तमान में कोई नहीं है। बग दर्ज करें
jtbandes

19
यह पूछे जाने के एक साल बाद, एकमात्र उत्तर अभी भी एक मैनुअल खोज और प्रतिस्थापित है! Apple का अविश्वसनीय रूप से पीछे की ओर, यह एक IDE के लिए एक बुनियादी और आवश्यक विशेषता है
HughHughTeotl

1
AppCode इस refactoring पूरा कर सकते हैं। यह आपकी कक्षा के लिए एक .swiftफ़ाइल में परिभाषित दो-चरण की प्रक्रिया होगी। 1. क्लास के नाम का चयन करें और Refactor> नाम बदलें । 2. .swiftफ़ाइल का चयन करें और Refactor> नाम बदलें
डैनियल झांग

5
दो साल बाद भी !!! कार्यान्वित नहीं???
मिलाद फरीदिया

यह वास्तव में अच्छा है एक तरह से पुराने समय की यादों को वापस लाता है जबकि C
LegendLength

जवाबों:


25

आप Xcode6 के दाईं ओर फ़ाइल इंस्पेक्टर में एक वर्ग का नाम बदल सकते हैं।

  • अपनी कक्षा खोलें
  • फाइल इंस्पेक्टर> पहचान और अनुभाग टाइप करें
  • "नाम" फ़ील्ड में मौजूदा वर्ग का नाम बदलें।

बस इतना ही! पहले मैं मैन्युअल रूप से क्लास फाइल में क्लास का नाम बदल देता था।


11
उत्तर के लिए धन्यवाद, लेकिन यह केवल फ़ाइल संरचना में वर्ग का नाम बदलता है। मुझे अभी भी कोड में हर जगह अपने वर्ग के नाम के सभी उदाहरण बदलने होंगे। जबकि Refactor-> Rename ... का उपयोग करके फ़ाइल संरचना में नाम बदलने के साथ-साथ कोड में भी उपयोग किया जाता है।
खरवार

कोई दिक्कत नहीं है! मैंने अभी तक इसका एक प्रकार का समाधान सोचा था जब तक कि Apple इस मुद्दे के साथ कुछ नहीं करता। आप उस दिन तक फ़ंक्शन और बदलें फ़ंक्शन का उपयोग कर सकते हैं। कोई भी मामला, रिफैक्टर में निर्मित-> नामकरण लगभग एक ही क्रिया करता है।
न्यूटन

1
@ कोई बात नहीं यह वही करता है। उदाहरण के लिए, ढूँढें और बदलें स्ट्रिंग्स के अंदर खोज करेंगे, और Refactor-> नाम बदलें ऐसा नहीं करना चाहिए।
मार्टिन एप्सज

15

मैं प्रोजेक्ट में फाइंड> फाइंड एंड रिप्लेसमेंट का उपयोग कर रहा हूं , यह सही नहीं है लेकिन यह काम करता है।


12

मैं इस तरह से उपयोग करता हूं:

  • आप उस चर पर कर्सर रख सकते हैं जिसका आप नाम बदलना चाहते हैं
  • संपादक चुनें - सभी को स्कोप में संपादित करें (^ --E)
  • चर का नाम बदलें और स्वचालित रूप से सभी चर घटनाओं को संपादित किया जाता है

इससे मदद मिलती है। मुझे आश्चर्य है कि मैं इतने लंबे समय के लिए याद किया !! :]
hdsenevi

1
यह केवल दायरे के भीतर ही काम करता है, यानी फाइल IIRC के पार नहीं।
स्टीव मोजर

10

इस ट्यूटोरियल से।

अपने iOS8 स्विफ्ट कोड को विभाजित करें

पहले चीजें, पहले अपने व्यू कंट्रोलर का नाम बदलकर कुछ और सार्थक होने दें। अपनी ViewController.swift फ़ाइल खोलें और हमारे नए नाम, 'SearchResultsViewController' के साथ 'ViewController' के सभी संदर्भों को बदलें। फ़ाइल का नाम बदलकर SearchResultsViewController.swift भी रखें।

यदि आप ऐप को यहां से चलाने का प्रयास करते हैं तो आपको दुर्घटना हो जाएगी। ऐसा इसलिए है क्योंकि हमारी स्टोरीबोर्ड फ़ाइल को नए वर्ग के बारे में जानने के लिए अपडेट नहीं किया गया है! इसलिए मेनस्टोरीबोर्ड खोलें, दृश्य में अपने 'व्यू कंट्रोलर' ऑब्जेक्ट (बाएं हाथ की ओर की नौसेना) का चयन करें, और फिर पहचान निरीक्षक (राइट-हैंड साइड, थर्ड बटन) का चयन करें।

यहां से कक्षा को 'ViewController' से 'SearchResultsViewController' में बदलें। अब हमें वापस ट्रैक पर होना चाहिए। जांचें कि परियोजना अभी भी काम करती है, और चलो आगे बढ़ें।


जवाब के लिए धन्यवाद। मैंने पहले ही इस विधि का प्रयोग कर लिया है। लेकिन यह अच्छा तरीका नहीं लगता है। अगर मैं 10 कक्षाओं में ViewController.swift ऑब्जेक्ट्स का उपयोग कर रहा हूं, तो मुझे सभी कक्षाओं में मैन्युअल रूप से उनका नाम बदलना होगा। समय के लिए इतना दर्दनाक और बर्बादी :(
खरवार

@ खरवार- हां आप सही कह रहे हैं, लेकिन हो सकता है कि अब कोई दूसरा विकल्प न हो और स्विफ्ट भी बीटा में हो। इसके बारे में चिंता मत करो .. आशा है कि सेब फिर एक और आसान तरीका मिल जाएगा (उद्देश्य सी ???) :)
iPatel

1
मैं संस्करण aming.२ (68 सी ६)) पर हूं और नाम बदलने की प्रक्रिया अभी भी संभव नहीं है
बारबरा आर

7.3 में भी यह संभव नहीं है।
मैनचैम्प


2

Xcode 9

Xcode 9 अब स्विफ्ट में नाम बदलने का समर्थन करता है। इसकी घोषणा डब्ल्यूडब्ल्यूडीसी 2017 में की गई थी।

यहां छवि विवरण दर्ज करें


धन्यवाद, धन्यवाद Apple, लेकिन नाम बदलने से अभी भी काम नहीं करता है। अब यह Xcode को क्रैश कर रहा है।
किसिलीनो

सच ... संस्करण 9.0 बीटा के रूप में, नामकरण Xcode दुर्घटना बनाता है। लेकिन यह क्या में काम करने वाला है भविष्य , जब भी ऐसा हो सकता है :)
गाय डाहर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.