Я пытаюсь обновить MKMapView, удалив все аннотации вне видимой области и добавив и удалив некоторые аннотации внутри видимой области. Это мой код:
NSSet *visibleAnnotations = [mapView annotationsInMapRect:[mapView visibleMapRect]];
NSSet *allAnnotations = [NSSet setWithArray:[mapView annotations]];
NSMutableSet *nonVisibleAnnotations = [NSMutableSet setWithSet:allAnnotations];
[nonVisibleAnnotations minusSet:visibleAnnotations];
[mapView removeAnnotations:(NSArray *)nonVisibleAnnotations];
NSMutableSet *newAnnotations = [NSMutableSet setWithArray:[_zoomLevels objectAtIndex:clusterLevel]];
[newAnnotations minusSet:visibleAnnotations];
[mapView addAnnotations:(NSArray *)newAnnotations];
Это дает мне ошибку - [__ NSCFSet objectAtIndex:]: нераспознанный селектор, посланный экземпляру 0x13cd40 после последней строки, в которую я передал newAnnotations в NSArray, затем добавьте аннотации. Есть ли что-то о том, чтобы привести массив к множеству, который вызывает это? Если да, есть ли способ обойти его?