Набор представляет собой неупорядоченную коллекцию уникальных элементов. Почти похоже на массив.
Я хочу добавить/вставить несколько элементов в Set
String
. Но есть только один метод, который может вставить только один элемент (принимает один элемент Set в качестве аргумента параметра), и у меня есть коллекция строк (id).
@discardableResult mutating func insert(_ newMember: Set.Element) -> (inserted: Bool, memberAfterInsert: Set.Element)
Как я могу это сделать?
Что я пробовал:
Я попытался создать расширение, очень похожее на метод insert(_:)
но оно может принимать несколько элементов Set. Это было бы то же самое, что и использование итерации по сбору, но не нужно обрабатывать это везде вручную.
extension Set {
@discardableResult mutating func insert(_ newMembers: [Set.Element]) -> (inserted: Bool, memberAfterInsert: Set.Element) {
newMembers.forEach { (member) in
self.insert(member)
}
}
}
Это должно работать, если я верну кортеж, как и ожидалось, но не знаю, как и где (какая строка) и что вернуть значение.
Вот сообщение об ошибке.
Отсутствует return в функции, ожидаемой для возврата '(вставлено: Bool, memberAfterInsert: Set.Element)'
Что может быть решением этого. Есть ли лучшее решение/подход для обработки этой операции?