我有一个可变数组:
NSMutableArray *locations = [[NSMutableArray alloc] init];
当我打电话给IBAction时(如果用户按下它我可以调用1000次),它会将地址放在地图上,存储在该数组中。
我在创建数组后调用了它:
[locations removeAllObjects]
然而,引脚仍然显示在彼此之上,这是否正确清除了阵列?
答案 0 :(得分:2)
- (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];
}
答案 1 :(得分:1)
在&#34; removeAllObjects&#34;下添加以下代码行:线
[mapView removeAnnotations:mapView.annotations];
答案 2 :(得分:0)
这不是因为阵列中物体的清除。您必须通过调用
从mapView中删除注释[mapViewObjectName removeAnnotions:locations];
然后将删除您在位置数组中分配的所有注释。
谢谢