Расширение для массива, чтобы сделать это легко и позволить объединять в цепочку:
public extension Array where Element: Equatable {
@discardableResult
public mutating func remove(_ item: Element) -> Array {
if let index = firstIndex(where: { item == [110] }) {
remove(at: index)
}
return self
}
@discardableResult
public mutating func removeAll(_ item: Element) -> Array {
removeAll(where: { item == [110] })
return self
}
}
В Swift 3 и 4
var array = ["a", "b", "c", "d", "e", "f"]
for (index, element) in array.enumerated().reversed() {
array.remove(at: index)
}
От Swift 4.2 можно использовать более усовершенствованный подход (быстрее и эффективная память)
array.removeAll(where: { [111] == "c" })
вместо
array = array.filter { ![112].hasPrefix("c") }
Read больше здесь
Это - официальный ответ для нахождения индекса конкретного объекта, затем можно легко удалить любой объект с помощью того индекса:
var students = ["Ben", "Ivy", "Jordell", "Maxime"]
if let i = students.firstIndex(of: "Maxime") {
// students[i] = "Max"
students.remove(at: i)
}
print(students)
// Prints ["Ben", "Ivy", "Jordell"]
Вот ссылка: https://developer.apple.com/documentation/swift/array/2994720-firstindex