在地图中加载注释时,我有一个奇怪的行为。我有一个自定义注释,可以根据属性加载不同的图像。在项目开发过程中,我更改了其中一个图像(从项目中删除了资源并添加了新的)当我使用模拟器调试应用程序时,它工作正常。加载正确的图像。在设备上它仍然加载我删除的旧图像。(图像不再在项目中!)我清理了卸载应用程序的设备,但我仍然有问题。
这是我在注释中设置图像的代码。
- (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 的新手,也许我没有考虑一些内存问题?谢谢