Samt spørsmålet mitt Fjerne MKMapViewmerknader forårsaker lekkasjer. Jeg har oppdaget at hvis du oppretter en visning basert prosjekt, legg en UISearchBarog MKMapViewinn i visningens NIB, wire opp delegatene (jeg er ikke å skape noen metoder som vi ikke egentlig trenger å gjøre noe for å utløse lekkasjer), link i den MapKit og fyre opp prosjektet, så bare klikke på UISearchBarårsakene en 1k + lekkasje. Dette skjer ikke med mindre du har både UISearchBarog MKMapViewi en oversikt. Jeg har de samme problemene når du oppretter utsikten fra kode. Jeg trodde en NIB kan oppføre seg annerledes, men det gjør det ikke.
Er MKMapViewlekk, eller jeg gjør noe galt.
Å gjenskape problemet med kode prøve koden under - Jeg laget en ny syn basert applikasjon prosjekt
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];
}
Selv om jeg har beholdt subviews med mapView og searchbar, er dette sannsynligvis unødvendig å gjenskape problemet.
I å teste denne koden før publisering her har jeg bare lagt merke til at denne lekkasjen ikke forekommer i simulatoren - bare på telefonen min ...













