Je MKMapView děravý

hlasů
1

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 ...

Položena 03/09/2009 v 14:28
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Ano.

Existuje známý úniky na 3,0 v MKMapViews. Úniku dochází při navrátit MKMapView Toto je vyřešen v novějších verzích. Řešením je mít jednotnou MKMapView a opakovaně používat.

https://devforums.apple.com/message/129740#129740

Odpovězeno 04/11/2009 v 08:28
zdroj uživatelem

Odpovězeno 22/07/2011 v 10:44
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more