Что означает этот фрагмент кода?

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!
}


Из этого кода непонятен этот элемент:

if closure (tempVar, value) {
   tempVar = value
}


На что проверяются данные переданные в if?
  • Вопрос задан
  • 434 просмотра
Пригласить эксперта
Ответы на вопрос 2
ThePyzhov
@ThePyzhov
iOS Ninja
На что проверяются данные переданные в if?

Смотря какую функцию вы будете передавать в виде аргумента.
Ответ написан
Комментировать
@aol-nnov
функция sortFunc принимает на вход массив целых и функтор (для простоты скажем, указатель на функцию), возвращающий булево значение.
В if, о котором задан вопрос, этот функтор "исполняется" и оценивается возвращенное им значение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы