百度地图官方是建议delegate不用的话,将其置nil。换言之,是这样:
-(void)viewWillDisappear:(BOOL)animated {
[_mapView viewWillDisappear];
_mapView.delegate = nil; // 不用时,置nil
}
//ps:该viewWillAppear跟系统的那个颇有不同
/**
*当mapview即将被显式的时候调用,恢复之前存储的mapview状态。
*/
-(void)viewWillAppear;
但是这样的话,会有问题,比如:
我从其它页面pop回来请求数据并刷新页面的时候,会因为delegate被置nil,不存在了而不会触发相应的delegate方法,
所以,这个东西要看需求了,置nil固然好,但是还想pop回来的时候触发相应的delegate,要么
1.delegate不置nil。
2.要么
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:YES];
_mapView.delegate = self;
}
delegate不写在viewDidLoad里,
在视图每次出现的时候(viewWillAppear)指定一次