Stejně jako můj dotaz „Odstranění MKMapViewpoznámky způsobuje úniky.“ Zjistil jsem, že pokud vytvoříte projekt je pohled založený, přidat UISearchBara MKMapViewna zobrazení v NIB, drát až delegáti (nebudu vytvářet žádné způsoby, jak nebudeme skutečně potřebují udělat cokoliv, aby vyvolat úniky), odkaz na MapKit a oheň projekt, pak kliknutím na UISearchBarzpůsobuje 1k + úniku. To se nestane, pokud máte oba UISearchBara MKMapViewv pohledu. Mám stejné problémy při vytváření pohledů z kódu. Myslel jsem NIB mohou chovat jinak, ale to není.
Je MKMapViewděravý, nebo dělám něco špatně.
Replikovat problém s kódem vyzkoušet níže uvedený kód - jsem vytvořil nový projekt „Pohled na bázi aplikace“
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];
}
I když jsem udržel subviews s MapView a Searchbar, to je asi zbytečné replikovat problém.
Při testování tento kód před uveřejněním zde právě jsem si všiml, že tento únik nenastane v simulátoru - pouze na můj telefon ...













