Поскольку я часто использую эту процедуру, может ли кто-нибудь создать метод расширения массива Swift, который будет определять, существуют ли данные, которые будут добавлены, значит, они не добавлены? Я знаю, что это всего лишь вопрос нескольких подобных кодов:
Код: Выделить всё
var arr = [Int]()
for element in inputArr {
if !arr.contains(element) { arr.append(element); }
}
Становится:
Код: Выделить всё
var arr = [Int]()
for element in inputArr { arr.appendUnique(element); }
Или:
Код: Выделить всё
var arr = [String]()
for element in inputArr {
if !arr.contains(element) { arr.append(element); }
}
Становится:
Код: Выделить всё
var arr = [String]()
for element in inputArr { arr.appendUnique(element); }
Один и тот же метод для разных типов элементов. Честно говоря, из этого простого кода я также хочу узнать, как расширить коллекцию с помощью типов переменных. Меня восхищает, как методы Array могут иметь разные типы параметров всякий раз, когда объект был инициализирован с разными типами параметров. Массив и словарь — это две вещи, которые я до сих пор не понимаю, как их правильно расширить. Спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/465 ... wift-array