使用百度地图delegate的小注意

百度地图官方是建议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)指定一次

你可能感兴趣的:(使用百度地图delegate的小注意)