А также мой вопрос «Удаление MKMapViewаннотаций вызывает утечку.» Я обнаружил , что если вы создаете проект на основе просмотра, добавьте UISearchBarи MKMapViewв СИБ отображения вида, провод до делегатов (я не создавать какие - либо методы , как мы на самом деле не нужно делать ничего , чтобы вызвать протечки), ссылку на MapKit и запустить проект, просто нажав на UISearchBarпричины 1кВт + утечки. Этого не происходит , если вы не имеете , как UISearchBarи MKMapViewв представлении. У меня те же проблемы при создании представления из кода. Я думал, что СИБ может вести себя по- другому, но это не так.
Является ли MKMapViewнеплотно, или я делаю что - то неправильно.
Для того, чтобы воспроизвести проблему с кодом попробовать код ниже - я создал новый проект «вид на основе применения»
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];
}
Несмотря на то, что я сохранил подвиды с MAPview и SearchBar, это, вероятно, нет необходимости, чтобы воспроизвести проблему.
При тестировании этого кода перед публикацией здесь я только заметил, что эта утечка не происходит в тренажере - только на моем телефоне ...













