में ऑब्जेक्ट्स की सरणी संशोधित करें, मैं प्रत्येक तत्व के माध्यम से लूप किए बिना फ्लाई स्विफ्ट के map
का उपयोग करके ऑब्जेक्ट्स की अपनी सरणी को संशोधित करने में सक्षम होना चाहता हूं।स्विफ्ट 2.2 (3.0)
यहाँ से पहले (कुछ इस तरह अधिक जानकारी के here में वर्णित करने में सक्षम थे:
gnomes = gnomes.map { (var gnome: Gnome) -> Gnome in
gnome.age = 140
return gnome
}
एरिका Sadun के लिए धन्यवाद और अन्य लोगों, नए प्रस्तावों के माध्यम से चले गए हैं और अब हम सी-शैली से छुटकारा पाने रहे हैं छोरों और पाश अंदर var
का उपयोग कर।
मेरे मामले में मैं पहली बार तो एक त्रुटि में var
दूर करने के लिए एक चेतावनी हो रही है मेरी gnome
एक निरंतर है (स्वाभाविक रूप से)
मेरा सवाल है: हम स्विफ्ट 3.0 के लिए पूरी तरह तैयार होने के लिए map
या नए स्टाइल लूप के अंदर सरणी कैसे बदल सकते हैं?
एक त्रुटि देता है '' $ 0 अपरिवर्तनीय है''। यह मेरी गलती है।मुझे और सटीक होना चाहिए था :(मैं कक्षाओं के बजाय structs का उपयोग कर रहा हूं, मैं शर्त लगाता हूं कि उन्हें डिफ़ॉल्ट रूप से अपरिवर्तनीय बना दिया गया है – kernelpanic
@ कर्नलपैनिक चूंकि आपने हमें 'जीनोम' वर्ग नहीं दिखाया है, मुझे अपने आप में से एक को शामिल करना था क्या आप निश्चित हैं कि आपकी कक्षा की 'आयु' संपत्ति एक उत्परिवर्तनीय है (साथ ही साथ gnomes की आपकी सरणी)? उपरोक्त काम स्विफ्ट 2.2 और एक्सकोड 7.3 पर मेरे लिए ठीक काम करता है। – dfri
@dfri मुझे संदेह है कि 'जीनोम' एक है संरचना – vadian