Objective C removeAllObjects NSMutableArray

时间:2013-03-14 12:28:22

标签: ios objective-c xcode arrays nsmutablearray

我有一个可变数组:

NSMutableArray *locations = [[NSMutableArray alloc] init];

当我打电话给IBAction时(如果用户按下它我可以调用1000次),它会将地址放在地图上,存储在该数组中。

我在创建数组后调用了它:

[locations removeAllObjects]

然而,引脚仍然显示在彼此之上,这是否正确清除了阵列?

3 个答案:

答案 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];

然后将删除您在位置数组中分配的所有注释。

谢谢