Есть ли в стандартной библиотеке Swift функция, которая действует на коллекцию, принимает предикат и возвращает значение, удаленное из этой коллекции?
В настоящее время я должен реализовать его в 2 этапа:
guard let idx = allAnnotations.index(where: {$0 is MKUserLocation}) else {return}
let userLocation = allAnnotations.remove(at: idx) as! MKUserLocation
Но я думаю, похожая функция существует.
Цель
У меня есть следующий массив:
[Type1, Type1, Type1, Type1, Type1, Type1, Type2]
Type2
может присутствовать или не присутствовать в массиве. Нет других типов, кроме этих двух.
Мне нужно разделить его на два элемента:
[Type1, Type1, Type1, Type1, Type1, Type1]
и
Type2?
Это функция, которую я ищу.