我有一个UIViewController子类和一个名为map的IBOutlet到一个MKMapView实例。
到目前为止,非常好,但有时当视图控制器触发viewDidLoad
方法时应用程序崩溃没有理由。这绝对是随机的,但只有当我创建了大约三个实例然后创建一个新实例并将其推入导航控制器时才会发生(但是,我在导航控制器堆栈中同时只有一个这些视图控制器!)。
以下是viewDidLoad
方法的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
[map setDelegate:self];
[map setMapType:MKMapTypeStandard];
[map setShowsUserLocation:YES];
if(area)
self.area = area;
}
堆栈跟踪显示它在我调用[map setShowsUserLocation:YES];
时崩溃但仅在此行上(当我将其注释掉时,它永远不会崩溃)。这是堆栈跟踪:
(很抱歉这张照片,但是我太懒了,不能全部输入)。
有谁知道发生了什么事,为什么它会崩溃?
答案 0 :(得分:1)
尝试在[map setShowsUserLocation:NO];
中设置viewDidUnload
。我有类似的情况,但每次视图重新加载时我都会以编程方式重新创建MKMapView,并且没有看到这个问题。