Miért összeomlik után MKMapView megszabadítjuk, ha én már nem használja?

szavazat
23

Van egy MKMapView. Néha, miután a nézetvezérlőben elutasítja, hozok egy EXC_BAD_ACCESS.

Bekapcsoltam NSSZombies, és úgy néz ki, mint a MKMapView„s delegáltja - álláspontom vezérlő! - kerül meghívásra, annak ellenére, hogy mind a MKMapViewés UIViewControlleralosztály szabadult. Megnéztem, és a memória kezelése helyes.

Mi történik?

A kérdést 02/02/2010 23:10
a forrás felhasználó
Más nyelveken...                            


4 válasz

szavazat
43

Ez azért van, mert az út MKMapViewműködik. Van egy művelet folyamatban van, így MapKit van megtartva a MKMapViewés tulajdonképpen nem került felszabadításra még. Ez önmagában nem jelent problémát. A probléma az, hogy ez még mindig küld üzeneteket a küldöttet.

A megoldás egyszerű: részeként a nézet vezérlő razzia meg a térkép nézet küldöttje nil, amely megakadályozza MKMapViewküldhessenek üzeneteket is.

Ezt dokumentálják MKMapViewDelegate Protocol Reference :

Feloldása előtt egy MKMapView objektumot, amellyel beállította a megbízottja, ne felejtse el, hogy a tárgy megbízottja ingatlan nulla. Egy hely, akkor ezt az a módszer, ahol dealloc kidobja a térképen.

Edit: Adj Oscar egy Pozitívan szavazás is, csak alul, aki, amennyiben a dokumentáció erről itt.

Mivel ARC, azt javaslom, ez azt jelenti, akkor állítsd be térképrészletet megbízottja hogy nilaz Ön véleménye vezérlő dealloc.

Válaszolt 02/02/2010 23:18
a forrás felhasználó

szavazat
18

OK, ez a visszaigazolást a választ. Ez az Apple doc, de ez hiányzik MKMapView. Ez csak alatt található dokumentációt annak megbízottja protokoll:

Feloldása előtt egy MKMapView objektumot, amellyel beállította a megbízottja, ne felejtse el, hogy a tárgy megbízottja ingatlan nulla. Egy hely, akkor ezt az a módszer, ahol dealloc kidobja a térképen.

Megjegyzés: Ez is vonatkozik UIWebView.

Én meg a MapView megbízottja mutató nulla a delegátus dealloc módszer, és a mi összeomlik úgy tűnik, hogy már megszűnt.

Válaszolt 20/11/2011 22:20
a forrás felhasználó

szavazat
2

Beállítása térkép megbízottja hogy nilnem működik nekem. Azonban, amelyben showsUserLocation=NOa meghatalmazott által ledolgozott ügyelve nem helyfrissítések érkezik.

Válaszolt 02/09/2011 17:57
a forrás felhasználó

szavazat
0

A probléma, az én esetemben, az volt, hogy először indított alkalmazás nem nyomja meg a „lehetővé teszi”, amikor bekérésénél helyét engedély (véletlenül !!).

Eltávolítása app és újratelepíteni, mikor prompt jelenik Megengedem az engedélyeket, és nem több baleset!

Válaszolt 21/05/2015 15:11
a forrás felhasználó

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