我的 IOS 应用程序出现错误。我在google和here中搜索过,但没有找到具体的解决方案!
我有一个名为 mapView 的视图控制器,我在我的应用程序中使用了两分钟,这个视图包含一个 MKMapView 和代码。
在我的 mapView.h 中有:
@property (strong, nonatomic) IBOutlet MKMapView *mapSpot;
在我的 mapView.m 中有:
- (void)viewDidLoad {
[super viewDidLoad];
[mapSpot setShowsUserLocation:YES];
}
- (void) mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([userLocation coordinate], 500, 500);
[mapSpot setRegion:region animated:YES];
}
因此,在第一时间,我使用以下方法将 mapView 加载到其他 ViewController 中:
@property (strong, nonatomic) ViewMap *mapView;
mapView = [[ViewMap alloc] initWithNibName:@"ViewMap" bundle:nil];
[self.view addSubview:[mapView view]];
我卸载了该 ViewController 并在另一个 ViewController 中再次加载 MapView,但此时方法: - (void) mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 没有被调用。
我验证第一个 ViewController 是否已卸载,并且是这样。
当我加载第二个 ViewController 时,会有一个新的 MapView 实例,但不调用委托方法。
有人知道吗?
谢谢
==================================================== =================================
编辑并解决: