Если вы хотите избежать проблемы «мутировать во время итерации», просто создайте свою собственную локальную копию массива и выполните итерацию по ней:
func removeAllAnnotations() {
guard let document = document else { return }
for i in 0..<document.pageCount {
if let page = document.page(at: i) {
let annotations = page.annotations
for annotation in annotations {
page.removeAnnotation(annotation)
}
}
}
}
Но, нет, я не знаюлюбой лучший способ удалить все аннотации.