Я пытаюсь написать расширение массива, которое позволит мне удалить элементы из массива, если они существуют в другом массиве. Мне нужно будет использовать это для ряда пользовательских типов, поэтому пыталась создать нечто общее.Удалить элементы массива из массива
Это то, что я до сих пор, который возвращает ошибку «бинарный оператор == не может быть применен к двум операндам т» оператор
extension Array{
mutating func removeArrayItems<T>(itemsToRemove: [T]){
for item in itemsToRemove{
var removed = removeObject(item)
}
}
mutating func removeObject<T>(object: T) -> Bool {
for (idx, objectToCompare) in enumerate(self) {
if let to = objectToCompare as? T {
if object == to {
self.removeAtIndex(idx)
return true
}
}
}
return false
}
}
Отлично! Большое спасибо за это. Получил это компиляцию сейчас. Однако проблема, которую я до сих пор имею, - это не похоже на то, что я называю это массивами пользовательского типа. Тем не менее, он работает на ваших стандартных типах. , например. var arrayTimings: [Timing] = [Timing]() // Заполнение массива scheduleTimings.removeArrayItems (arrayTimings) – JIbber4568
Perfect! Большое спасибо мату – JIbber4568