मुद्दा यह है कि दो विधियां हैं। एक हटा दिया गया है नोटेशन जो एमकेएनोटेशन ऑब्जेक्ट लेता है, और दूसरा हटा दिया जाता है नोट्स जो एमकेएनोटेशन की सरणी लेता है, एक के अंत में "एस" को नोट करें और दूसरे को नहीं। [MKAnnotation]
से कास्ट करने का प्रयास करते हुए, MKAnnotation
पर एक सरणी एक ऑब्जेक्ट या वीज़ा बनाम प्रोग्राम को क्रैश कर देगी। कोड self.mapView.annotations की रेखा एक सरणी बनाता है।
let previousAnnotations = self.mapView.annotations
if !previousAnnotations.isEmpty{
self.mapView.removeAnnotation(previousAnnotations[0])
}
इस प्रकार, आप विभिन्न एनोटेशन के साथ साथ उपयोगकर्ताओं स्थान रखने निकाल सकते हैं: इस प्रकार, यदि आप विधि removeAnnotation उपयोग कर रहे हैं, तो आप सूचकांक करने के लिए सरणी के भीतर एक वस्तु के लिए सरणी, जैसा कि नीचे देखा की जरूरत है। ऑब्जेक्ट्स को निकालने का प्रयास करने से पहले आपको हमेशा अपने सरणी का परीक्षण करना चाहिए, अन्यथा संभवतः सीमाओं या शून्य त्रुटि से बाहर निकलना संभव है।
नोट: विधि निकालने का उपयोग करके टिप्पणियां (सभी के साथ) सभी एनोटेशन हटा देती है। यदि आपको शून्य मिल रही है, तो इसका तात्पर्य है कि आपके पास खाली सरणी है। यदि आप ऐसा करने के बाद कोई और कथन जोड़कर सत्यापित कर सकते हैं, तो ऐसा ही;
else{print("empty array")}
अच्छा काम किया! धन्यवाद! – user4812000