Αυτό οφείλεται στο γεγονός ότι από τον τρόπο που MKMapViewλειτουργεί. Υπάρχει μια λειτουργία που εκκρεμούν, έτσι MapKit είναι διατηρώντας το MKMapViewκαι δεν έχει πράγματι deallocated ακόμα. Αυτό δεν είναι το ίδιο πρόβλημα. Το πρόβλημα είναι ότι ακόμα αποστολή μηνυμάτων σε αντιπρόσωπο σας.
Η λύση είναι απλή: Στο πλαίσιο της εκκαθάρισης ελεγκτή άποψή σας που εκπρόσωπο της προβολή χάρτη στην nilοποία θα αποτρέψει MKMapViewαπό το να στέλνουν μηνύματα σε αυτό.
Αυτό τεκμηριώνεται στο MKMapViewDelegate πρωτόκολλο αναφοράς :
Πριν από την απελευθέρωση ενός αντικειμένου MKMapView για την οποία έχετε ορίσει εκπρόσωπο, θυμηθείτε να ρυθμίσετε το ακίνητο εκπρόσωπος αυτού του αντικειμένου χωρίς να δεχτεί γκολ. Ένα μέρος που μπορείτε να το κάνετε αυτό είναι με τη μέθοδο dealloc όπου θα διαθέσει στην προβολή χάρτη.
Επεξεργασία: Δώστε Oscar ένα Ψήφος καθώς, ακριβώς κάτω, ο οποίος παρείχε την προσφορά τεκμηρίωση εδώ.
Δεδομένου ARC, προτείνω αυτό σημαίνει ότι θα πρέπει να οριστεί εκπρόσωπος του χάρτη σας με nilτο χειριστήριο άποψή σας dealloc.