Вот моя функция объявления с закрытиемКакова разница между ниже синтаксисов закрытия в быстрой
func isTextValid(input: String, completion: (result: Bool) ->()) {
if input == "Hello" {
completion(result: true)
}
else {
completion(result: false)
}
}
Когда я вызываю функцию ниже, как это он не печатает Правильный результат, который является "ложным", вместо этого она печатает "(0 элементы)"
isTextValid("hi", { (result) ->() in
println(result)
})
Но когда я пишу код, как показано ниже, он работает отлично.
isTextValid("hi", { (result) ->() in
if result == false {
println(result)
}
})
// ИЛИ
isTextValid("hi", { (result) ->() in
if result == false {
}
println(result)
})
Я новичок на языке программирования Swift, и пытается свои руки в быстром языке в последнее время, но становится совершенно сбит с толку с синтаксисом и использование закрытия. Может кто-нибудь помочь в объяснении, в чем разница в обоих этих синтаксисах, почему он отлично работает со вторым синтаксисом, но не в порядке в первом.
Заранее спасибо. Счастливое кодирование.
Я бы только добавить, что вам не нужно, чтобы запустить его в тренажере, чтобы увидеть фактический выход консоли - вы можете увидеть его в детской площадке тоже: Вид - > Помощник редактора -> Show Assistant Editor –
Хороший совет, я обновлю ответ – Leo
Спасибо вам обоим, он показал правильный результат. Да, я использую игровые площадки, есть ли разница в просмотре журналов консоли, показанных в помощнике редактора и стандартного редактора? Я не уверен, почему результаты отличаются от двух разных редакторов. –