Является ли MKMapView негерметичным

Как и мой вопрос "УдалениеMKMapView Аннотации вызывают утечки. "Я обнаружил, что если вы создаете проект на основе представления, добавьтеUISearchBar а такжеMKMapView в NIB представления подключите делегатов (я не создаю никаких методов, поскольку нам на самом деле не нужно ничего предпринимать, чтобы вызвать утечки), создайте ссылку в MapKit и запустите проект, а затем просто щелкните вUISearchBar вызывает утечку 1к +. Это не произойдет, если у вас нет обоихUISearchBar а такжеMKMapView в представлении. У меня такие же проблемы при создании представлений из кода. Я думал, что NIB может вести себя по-другому, но это не так.

Является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, вероятно, в этом нет необходимости, чтобы повторить проблему.

Тестируя этот код перед публикацией здесь, я только что заметил, что эта утечка не происходит в симуляторе - только на моем телефоне ...

Ответы на вопрос(2)

Ваш ответ на вопрос