Dit is vanwege de manier waarop MKMapViewwerken. Er is een operatie in afwachting van, dus MapKit is behoud van het MKMapViewen het is niet echt nog niet deallocated. Dat is op zichzelf geen probleem. Het probleem is dat het nog steeds berichten stuurt naar uw gemachtigde.
De oplossing is simpel: Als onderdeel van opruimen uw weergave controller delegeren de kaartweergave aan nil, die zal voorkomen dat MKMapViewberichten te versturen naar het.
Dit is gedocumenteerd in MKMapViewDelegate Protocol Reference :
Voor het vrijgeven van een MKMapView object waarvoor u een gemachtigde hebt ingesteld, vergeet niet om afgevaardigde eigenschap van dat object op nihil gesteld. Een plek waar je kunt dit te doen is in de dealloc methode waarbij u beschikt over de kaartweergave.
Edit: Geef Oscar een upvote als goed, net onder, die hier de documentatie citaat verstrekt.
Gezien ARC, stel ik dit betekent dat je moet delegeren kaartweergave is ingesteld om nilnaar uw mening controller dealloc.