Este MKMapView neetanșe

voturi
1

Precum și întrebarea mea „Eliminarea MKMapViewadnotările cauzează scurgeri de informații.“ Am descoperit că , în cazul în care creați un proiect pe bază de vizualizare, adăugați o UISearchBarși MKMapViewîn BNI vizualizării, sârmă de sus delegații (nu sunt nici crearea de metode ca nu avem de fapt , trebuie să facă nimic pentru a declanșa scurgeri de informații), link - ul în MapKit și foc proiectul, apoi pur și simplu clic în UISearchBarcauzele unui 1k + scurgere. Acest lucru nu se întâmplă decât dacă aveți atât UISearchBarși MKMapViewîntr - o vizualizare. Am aceleași probleme la crearea privelistile de cod. M - am gândit un BNI s - ar putea comporta diferit, dar nu.

Este MKMapViewneetanșe, sau fac ceva greșit.

Pentru a reproduce problema cu codul încercați codul de mai jos - am creat un nou proiect „aplicație pe bază de vizualizare“

TestMapViewFromCodeViewController.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface TestMapViewFromCodeViewController : UIViewController {
    UISearchBar *searchBar;
    MKMapView *mapView;

}

@property (nonatomic, retain) MKMapView *mapView;
@property (nonatomic, retain) UISearchBar *searchBar;


@end

TestMapViewFromCodeViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    UISearchBar * tmpSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0,0.0,self.view.frame.size.width,40.0)];
    [self.view addSubview:tmpSearchBar];
    [self setSearchBar:tmpSearchBar];
    [tmpSearchBar release];

    MKMapView *tmpMapView=[[MKMapView alloc] initWithFrame:CGRectMake(0.0,0.0,self.view.frame.size.width,self.view.frame.size.height)];
    tmpMapView.showsUserLocation=FALSE;
    [self.view insertSubview:tmpMapView atIndex:0];
    [self setMapView:tmpMapView];
    [tmpMapView release];
}


- (void)dealloc {
    [mapView release];
    [searchBar release];
    [super dealloc];
}

Deși am păstrat subviews cu mapView și SearchBar, acest lucru probabil nu este necesar de a reproduce problema.

În testarea acest cod înainte de a publica aici, tocmai am observat că această scurgere nu are loc în simulator - numai pe telefonul meu ...

Întrebat 03/09/2009 la 14:28
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
2

Da.

Există un cunoscut scurgeri de informații cu privire la 3.0 MKMapViews. Scurgere apare atunci când dealoca MKMapView Acest lucru este stabilit în versiunile ulterioare. Workaround este de a avea un singur MKMapView și reutiliza.

https://devforums.apple.com/message/129740#129740

Publicat 04/11/2009 la 08:28
sursa de către utilizator


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