我有一个可变数组:
NSMutableArray *locations = [[NSMutableArray alloc] init];
当我调用 IBAction(我猜如果用户一直按下它可能会调用 1000 次)时,它会将引脚放置在地图上,并存储在该数组中。
我在创建数组后调用了它:
[locations removeAllObjects]
但是引脚仍然相互重叠,这是否正确清除了阵列?
我有一个可变数组:
NSMutableArray *locations = [[NSMutableArray alloc] init];
当我调用 IBAction(我猜如果用户一直按下它可能会调用 1000 次)时,它会将引脚放置在地图上,并存储在该数组中。
我在创建数组后调用了它:
[locations removeAllObjects]
但是引脚仍然相互重叠,这是否正确清除了阵列?
- (void)removeAllAnnotations {
NSMutableArray *annotationsToRemove = [NSMutableArray arrayWithCapacity:[self.map.annotations count]];
for (int i = 0; i < [self.map.annotations count]; i++) {
[annotationsToRemove addObject:[self.map.annotations objectAtIndex:i]];
}
[self.map removeAnnotations:annotationsToRemove];
}
在“removeAllObjects”行下添加以下代码行
[mapView removeAnnotations:mapView.annotations];
这不是由于阵列中的对象的清除。您必须通过调用从 mapView 中删除注释
[mapViewObjectName removeAnnotions: 位置];
然后,您在位置数组中分配的所有注释都将被删除。
谢谢你