Neden artık kullanıyorum eğer MKMapView arındırılır sonra kilitleniyor ben?

oy
23

Bir var MKMapView. Benim bakış denetleyicisi atlamamış Bazen sonra, bir alırsınız EXC_BAD_ACCESS.

Ben açık NSSZombiesve bu gibi görünüyor MKMapView'in temsilci - Benim görünümü denetleyicisi! - her ikisi de rağmen, çağrılan MKMapViewve UIViewControlleralt temizlenmektedir. Ben kontrol ettim ve benim bellek yönetim doğrudur.

Neler oluyor?

Oluştur 02/02/2010 saat 23:10
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
43

Bunun nedeni yolu taşımaktadır MKMapVieweserleri. Orada bekleyen bir operasyon, bu yüzden MapKit istinat edilir MKMapViewve aslında henüz çözülmemiştir. Bu bir sorun değil kendisidir. Sorun şu ki, hala temsilci mesaj gönderiyor olmasıdır.

Geçici çözüm basit: görünümünüzü kontrolörün temizleme parçası için harita görünümün temsilci konulduğu gibi nilönleyecektir, MKMapViewkendisine mesaj göndermesini.

Bu belgelenmiştir MKMapViewDelegate Protokol Referansı :

Bir temsilci ayarlamış olduğunuz bir MKMapView nesne bırakmadan önce, nil o nesnenin temsilci özelliğini ayarlamayı unutmayın. Bunu yapmanın bir yerde harita görünümü imha dealloc yöntemi olduğunu.

Düzenleme: Oscar burada dokümantasyon alıntı sağlanan yanı, hemen altında bir upvote verin.

Verilen ARC, ben bu şekilde harita görünümün temsilci belirlesin demektir önermek nilgörünümünüzü kontrolör en içinde dealloc.

Cevap 02/02/2010 saat 23:18
kaynak kullanıcı

oy
18

Tamam, bu cevabın onaylamaktır. Apple dokümandan, ama MKMapView gelen kayıp. Sadece onun temsilci protokolü belgelerine altında bulduğunu:

Bir temsilci ayarlamış olduğunuz bir MKMapView nesne bırakmadan önce, nil o nesnenin temsilci özelliğini ayarlamayı unutmayın. Bunu yapmanın bir yerde harita görünümü imha dealloc yöntemi olduğunu.

NOT: Bu aynı zamanda UIWebView için de geçerlidir.

Ben temsilcinin dealloc yöntemi sıfıra MapView en temsilci işaretçisi ayarlayın ve bizim çöker ortadan kaldırıldı görünüyor.

Cevap 20/11/2011 saat 22:20
kaynak kullanıcı

oy
2

Harita görünümün temsilci ayarlanması için nilbenim için çalışmadı. Ancak ayar showsUserLocation=NOtemsilci üzerinde hiçbir konum güncellemeleri alınan sağlayarak çalıştı.

Cevap 02/09/2011 saat 17:57
kaynak kullanıcı

oy
0

Sorun, benim durumumda, ilk kez ben yere yetkilendirme için isteyen zaman (yanlışlıkla !!) "izin" basmayın uygulamayı başlattı olmasıydı.

Uygulamayı kaldırıp yeniden takarak, ne zaman istemi Ben yetkileri ve artık kazasında izin görünür!

Cevap 21/05/2015 saat 15:11
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more