Функция Клоужер МАссив

swift
xcode
ios

#1

Здравствуйте, начинаю учить swift, возник вот такой вопрос)
как создать функцию, которая принимает массив стринги и клоужер(сортирует массив стринг по количеству букв в нем)
формулировка вопроса такая себе конечно)

func sorte(s1:String,s2:String) -> Bool {
return s1.count > s2.count
}
var massive = arrayList.sorted(by: sorte)
есть такой метод, но хочу чтобы клоужер в самой функции сортировал


#2

func sortStrings(strings: [String], sortCriteria: (String, String) -> Bool) -> [String] {
return strings.sorted(by: sortCriteria)
}

let strings = [“apple”, “banana”, “cherry”]
let sortedStrings = sortStrings(strings: strings, sortCriteria: {
return $0.count < $1.count
})
print(sortedStrings)


#3

Привет, спасибо за пример!)
я вот такую альтернативу сделал
var arrayList = [“tea”,“cappuccino”,“coffee”,“water”,“beef”]
func arra(array:[String], ascending:Bool) -> [String] {
return array.sorted { ascending ? $0.count < $1.count : $0.count > $1.count
}
}
var ss = arra(array: arrayList, ascending: true )

print(ss)


#4

Это не альтернатива!
Вопрос был про функцию которая принимает массив String и клоужер
А у вас просто принимает массив String и Bool
это совсем не совпадает с поставленым вопросом


#5

Слабый еще, не особо понимаю значения в коде(
Спасибо, что разложили)