由於存在多種情況需要從導航堆棧中彈出視圖控制器,因此我有一種方法可以實現此功能,並且可以從三個不同的位置調用它。無法將CLLocationManager委託設置爲無
- (void)dismissSelfCon {
NSLog(@"dismiss");
[locationManager stopUpdatingHeading];
[locationManager stopUpdatingLocation];
locationManager.delegate = nil;
mapView.delegate = nil;
[[NSNotificationCenter defaultCenter] removeObserver:self];
[[[Trail_TrackerAppDelegate appDelegate] navCon] popViewControllerAnimated:YES];
}
在一種情況下,如果MapView獲得置於其上的註釋(我不知道這是決定性的特點,但我認爲這是),這種方法稱爲(我敢肯定它被調用是因爲@「dismiss」被打印到控制檯),但位置管理器不會停止發送位置更新!另外,因爲委託沒有設置爲零,所以應用程序崩潰是因爲視圖控制器從它是委託的對象之一接收到respondsToSelector:。
這怎麼可能?
我想通了,現在發佈解決方案。 –