2011-07-06 8 views
2

私はアノテーションの配列を持っています。MKMapView:ループのないアノテーションの配列を表示または非表示

NSArray *annotations = [mapView annotations]; 

アレイをループすることで表示または非表示にすることができます。

for (i=0; i<[annotations count]; i++) 
    { 
     annotation = (AddressAnnotation*)[annotations objectAtIndex:i]; 
     [[mapView viewForAnnotation:annotation] setHidden:YES]; 
    } 

しかし、ループなしで行う方法はありますか?

- (void)removeAnnotations:(NSArray *)annotations; 
をしかし、私は、アノテーションの配列を表示または非表示にする任意の方法を見つけるカント:

我々はまた、我々は、以下のようなことで注釈を削除することができます方法

- (void)addAnnotations:(NSArray *)annotations; 

で注釈を追加することができます:(

+1

なぜあなたはループせずにそれを行う必要がありますか?この場合、あなたは何をしたいのですか? – uvesten

+0

私は注釈の表示または非表示に時間を節約したいので、私は約3000の注釈を持っています – itsazzad

+2

「ルーピング」は避けられません。注釈の配列を非表示にするAPIがあっても、コレクション全体に渡って補足する必要があります。 – Hyperbole

答えて

1

あなたがこれを解決すればわかりませんが、MapKitであなたは使用できます

NSArray *annotationsOnMap = mapView.annotations; 
if ([annotationsOnMap count] > 0) { 
[mapView removeAnnotations:annotationsOnMap]; 
} 
関連する問題