2017-08-28 6 views
9

मैं कैसे तेजी के नए संस्करण के लिए निम्न कोड के साथ अद्यतन कर सकते हैं स्ट्रिंग टुकड़ा करने की क्रिया सबस्क्रिप्ट का उपयोग करें:'सबस्ट्रिंग (:) के लिए' अब मान्य नहीं है: एक 'आंशिक सीमा तक' ऑपरेटर

self.areaCodeLael.text! = localNumber.substring(to: localNumber.index(localNumber.startIndex, offsetBy: 3)) 

मैं कोशिश की है इस पोस्ट निम्नलिखित लेकिन मैं नहीं मिल सकता है यह सही How can I use String slicing subscripts in Swift 4?

मैं अपने मूल कोड localNumber[..<3] करने के लिए समायोजित, लेकिन मैं मिलता है:

प्रकार के 'स्ट्रिंग एक मूल्य सबस्क्रिप्ट नहीं कर सकते 'प्रकार के सूचकांक के साथ' PartialRangeUpTo '

+1

अपने प्रश्न को दिखाएं कि आपने लिंक किए गए प्रश्न में जानकारी का उपयोग कैसे किया है। – rmaddy

+2

असंबद्ध लेकिन आप '!' ऑपरेटर को '= 'से पहले क्यों लगा रहे हैं? उस से छुटकारा पाएं। – rmaddy

उत्तर

15

मैं इस स्थिति में localNumber.prefix(3) कहूंगा। छोटा एवं सुन्दर।

+0

मैंने कोशिश की लेकिन उपसर्ग एक अनसुलझा पहचानकर्ता स्थानीय नम्बर.स्ट्रिंग (उपसर्ग (3)) – user1079052

+0

मुझे यह काम करने के लिए मिला, सुझाव स्ट्रिंग (localNumber.characters.prefix (3)) – user1079052

+2

@ user1079052 नहीं, आप चाहते हैं, स्ट्रिंग (localNumber.prefix (3)) '। – rmaddy

5

localNumber[..<3] का उपयोग करने के आपके प्रयास के साथ समस्या यह है कि आप श्रेणी के रूप में Int पास नहीं कर सकते हैं। आपको String.Index पास करने की आवश्यकता है।

आपका कोड की जरूरत है:

let index = localNumber.index(localNumber.startIndex, offsetBy: 3) 
self.areaCodeLael.text = localNumber[..<index] 

भी ध्यान रखें कि आप नहीं है ! ऑपरेटर text के बाद चाहते हैं।

+0

मुझे "स्ट्रिंग 'प्रकार के एक प्रकार के साथ' स्ट्रिंग 'प्रकार का मूल्य मिलता है' PartialRangeUpTo '_" –

+0

ओह, मैं इसे' स्ट्रिंग (...) 'के साथ सबस्क्रिप्ट परिणाम को लपेटकर हल करता हूं, जैसे' स्ट्रिंग ' (localNumber [.. <सूचकांक]) ' –

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