2
我有我打電話viewDidLoad中的一個模式視圖控制器的MKMapView的實例:的MKMapView在模態視圖控制器
mapView = [[MKMapView alloc] init];
mapView.showsUserLocation = YES;
mapView.delegate = self;
我只是創建它,所以我可以調用ReverseGeocoder反對,並得到一個位置(標)。它被視圖所保留,並且在第一次呈現視圖時它可以正常工作。我重新使用UITableView中的不同項目調用的視圖,全部以模態方式呈現。在第一次調用之後,以後的調用都不起作用。我正在撓頭,想知道發佈池是否有問題。
當視圖調用viewDidUnload,我設置委託給無:
self.mapView.delegate = nil;
self.reverseGeocoder.delegate = nil;
任何想法或我丟失的東西?
這是一個很好的觀點。我確實給了一槍。我還發現,有時MKMapKit泄漏,所以我試圖分配它在我的應用程序委託,然後複製它。相同的結果。我可以嘗試一些更多的想法,比如:@property(nonatomic,assign)MKMapView * mapView; – indigosplinter
解決方案:自iOS 4.3開始,在您釋放MapView之前強制需要清空MapView。我加了self.mapview = nil;在釋放被調用之前,它工作得很好。 – indigosplinter