gpt4 book ai didi

iphone - IOS 7 - 添加覆盖崩溃应用程序

转载 作者:行者123 更新时间:2023-12-01 17:31:49 25 4
gpt4 key购买 nike

我正在将我的应用程序移至 IOS 7 .
我有一张 map ,我在这张 map 上画了MKPolyLine .
一切正常,直到 IOS 7 现在应用程序崩溃。
我改变了viewForOverLay使用新方法:

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id < MKOverlay >)overlay
{
if ([overlay isKindOfClass:[MKPolyline class]]) {
MKPolyline *route = overlay;
MKPolylineRenderer *routeRenderer = [[MKPolylineRenderer alloc] initWithPolyline:route];
routeRenderer.strokeColor = [UIColor redColor];
routeRenderer.lineWidth = 7;
return routeRenderer;
}
else return nil;
}

在 ViewDidLoad 我调用:
[self performSelectorInBackground:@selector(drawPathInBackground) withObject:nil];

这是实现:
-(void)drawPathInBackground{
for(int idx = 0; idx < [routes count]; idx++)
{
Path *m_p = [routes objectAtIndex:idx];
CLLocationCoordinate2D workingCoordinate;
workingCoordinate.latitude=m_p.Latitude;
workingCoordinate.longitude=m_p.Longitude;
MKMapPoint point = MKMapPointForCoordinate(workingCoordinate);
pointArr[idx] = point;
}
self.routeLine = [MKPolyline polylineWithPoints:pointArr count:[routes count]];
//[self.mapView addOverlay:self.routeLine];
//free(pointArr);
dispatch_async(dispatch_get_main_queue(), ^{
[self.mapView addOverlay:self.routeLine];
free(pointArr);
});
}

在这一行: [self.mapView addOverlay:self.routeLine];我得到: EXC_BAD_ACCESS(代码 = 2,地址 = 0x0)

最佳答案

您不应该在后台线程上执行任何 UI 操作。仅在主线程上的 UI。

关于iphone - IOS 7 - 添加覆盖崩溃应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19025148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com