Además de mi pregunta Eliminar MKMapViewanotaciones provoca fugas. He descubierto que si crea un proyecto basado en vistas, agregue un UISearchBary MKMapViewen el NIB de la vista, conecte los delegados (no crearé ningún método, ya que no es necesario que haga nada para activar las filtraciones), enlace en el MapKit y enciende el proyecto, luego simplemente haciendo clic en el UISearchBarcausa una fuga de 1k +. Esto no ocurre a menos que tengas ambos UISearchBary MKMapViewen una vista. Tengo los mismos problemas cuando creo las vistas desde el código. Pensé que un NIB podría comportarse de manera diferente, pero no es así.
Está MKMapViewgoteando, o estoy haciendo algo mal.
Para replicar el problema con el código, pruebe el siguiente código: Creé un nuevo proyecto de aplicación basada en vista
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];
}
Aunque he conservado las subvistas con mapView y searchBar, probablemente esto sea innecesario para replicar el problema.
Al probar este código antes de publicarlo, acabo de notar que esta fuga no ocurre en el simulador, solo en mi teléfono ...













