Привет! помогите разобраться с заданием. Используя замыкание нужно найти максимальный и минимальный элементы массива
Код рабочий, честно списанный)
Объясните, пожалуйста , как это работает.
let arrayOfInts = [-104, 5, 30, 1, 22, 4, 67, 1002]
func sortFunc (array: [Int], closure: (Int?, Int) -> Bool) -> Int {
var tempVar: Int? = nil
for value in array {
if closure (tempVar, value) {
tempVar = value
}
}
return tempVar!
}
print (sortFunc(array: arrayOfInts) {($0 != nil) ? $0! < $1 : true})
print (sortFunc(array: arrayOfInts) {($0 != nil) ? $0! > $1 : true})
//Хоть убей, не понимаю вот это:
if closure (tempVar, value) {
tempVar = value
то есть как я понимаю, if должен проверять истинность условия. Какое условие проверяется здесь, мне не понятно!
Что проверяется? Что в замыкание closure передается два инта? Блин)))
чушь какая-то…
Помогите, плз.