En plus ma question « Suppression des MKMapViewannotations provoque des fuites. » Je l' ai découvert que si vous créez un projet basé vue, ajouter un UISearchBaret MKMapViewdans NIB, câbler les délégués de la vue (je ne suis pas créer de méthodes que nous ne devons pas vraiment à quoi que ce soit pour déclencher les fuites), lien le MapKit et feu le projet, puis en cliquant simplement les UISearchBarprovoque une 1k + fuite. Cela ne se produit pas à moins que vous avez à la fois UISearchBaret MKMapViewdans une vue. J'ai les mêmes problèmes lors de la création des vues à partir du code. Je pensais qu'un NIB pourrait se comporter différemment, mais il ne fonctionne pas.
Est MKMapViewqui fuit, ou que je fais quelque chose de mal.
Pour reproduire le problème avec le code essayer le code ci-dessous - j'ai créé un nouveau projet « d'application de la vue »
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];
}
Bien que j'ai retenu les sous-vues avec Mapview et SearchBar, ce qui est probablement inutile de reproduire le problème.
En testant ce code avant la publication ici, je viens de remarquer que cette fuite ne se produit pas dans le simulateur - que sur mon téléphone ...













