【发布时间】:2014-06-18 04:11:12
【问题描述】:
我正在使用 showAnnotations 方法在 iOS7 中的 MKMapView 上显示我的标记。有时它可以完美运行并显示所有注释,但有时它会给出 EXEC_BAD_ACCESS 错误。
这是我的代码。
NSArray *annotations = MapView.annotations;
_mapNeedsPadding = YES;
[MapView showAnnotations:annotations animated:YES];
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{
if(_mapNeedsPadding){
[mapView setVisibleMapRect:mapView.visibleMapRect edgePadding:UIEdgeInsetsMake(100, 20, 10, 10) animated:YES];
_mapNeedsPadding = NO;
}
}
【问题讨论】:
-
您是否正确设置了代表?您是否正确使用了强参考?
EXC_BAD_ACCESS通常表示您正在尝试引用已释放的实例。 -
我正在使用强引用属性,并且我将我的 MkMapView 对象与 xib 正确连接。代理设置正确,为什么它调用 mapView regiondidchangeanimated 代理。我不知道是什么问题
-
在视图控制器之间进行了一些其他导航后是否会出现问题?
-
是的,只有当我从一个视图控制器移动到另一个视图控制器时才会出现此问题。在导航期间,我正在将我的 mkmapview 加载到搜索站
-
您是否尝试在多个实例中使用相同的实例?如果是这样,请尝试在导航控制器中设置委托方法。
标签: ios objective-c ios7