Jak również moje pytanie „Zdejmowanie MKMapViewAdnotacje powoduje przecieki”. Odkryłem, że jeśli tworzysz projekt oparty jest widok, dodać UISearchBari MKMapViewdo widoku za NIB, drut się delegaci (ja nie tworzę żadnych metod jak w rzeczywistości nie trzeba robić nic, aby wywołać przecieki), ogniwo MapKit i odpalić projekt, a następnie kliknięcie w UISearchBarprzyczyn 1k + przeciekać. To nie zdarza się chyba, że masz zarówno UISearchBari MKMapVieww widoku. Mam te same problemy podczas tworzenia widoków z kodem. Myślałem stalówkę może zachowywać się inaczej, ale tak nie jest.
Jest MKMapViewnieszczelny, albo robię coś złego.
Replikować problem z kodem spróbować poniższy kod - stworzyłem nowy projekt aplikacji „Widok” w oparciu
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];
}
Chociaż ja zachowywało subviews z MapView i searchBar, to chyba niepotrzebne replikować problemu.
W testowaniu tego kodu przed opublikowaniem tutaj Właśnie zauważyłem, że ten przeciek nie występuje w symulatorze - tylko w moim telefonie ...













