1

在地图中加载注释时,我有一个奇怪的行为。我有一个自定义注释,可以根据属性加载不同的图像。在项目开发过程中,我更改了其中一个图像(从项目中删除了资源并添加了新的)当我使用模拟器调试应用程序时,它工作正常。加载正确的图像。在设备上它仍然加载我删除的旧图像。(图像不再在项目中!)我清理了卸载应用程序的设备,但我仍然有问题。

这是我在注释中设置图像的代码。

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString *identifier = @"ParkingLocation";
if ([annotation isKindOfClass:[ParkingLocation class]]) {

    ParkingLocation *parkLoc = (ParkingLocation *)annotation;
    if ([parkLoc.type isEqualToString:@"CHIUSO"])
    {
        parkLoc.imagePin = [UIImage imageNamed:@"locator_parking"];
    }
    else
    {
        if ([parkLoc.type isEqualToString:@"PARCOMETRO"])
            parkLoc.imagePin = [UIImage imageNamed:@"locator_strada"];
        else
            parkLoc.imagePin = [UIImage imageNamed:@"locator_general"];
    }



    MKAnnotationView *annotationView = (MKAnnotationView *) [self.myMapView dequeueReusableAnnotationViewWithIdentifier:identifier];
    if (annotationView == nil) {
        annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
        annotationView.enabled = YES;
        annotationView.canShowCallout = YES;

        annotationView.image = parkLoc.imagePin;

        annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    } else {
        annotationView.image = parkLoc.imagePin;
        annotationView.annotation = annotation;
    }

    return annotationView;
}

return nil;

}

我在项目中更改的图像名为“locator_strada”有人有同样的行为吗?因为我是 iOS 和 Objective-C 的新手,也许我没有考虑一些内存问题?谢谢

4

0 回答 0