Size: a a a

2020 October 14

A

Alexandr✔️ in SwiftBook
Словесная интерпретация:
Если есть значение у опционала, записываем его в локальную переменную и выполняем блок кода после if let
источник

ВК

Варя Кузнецова... in SwiftBook
Nick Semin
А объясните, пожалуйста, почему в if =, а не ==?
Потому что это не операция чравнения. Когда в условии if опционал куда-то пытается записаться, то по сути присваивается ЕСЛИ не nil
источник

ВК

Варя Кузнецова... in SwiftBook
То есть одноврпменно проверка на нил, прошла - то записывается в переменную, которая не опционал (т е запись не в Int?, а в int) , не прошла - идем в else
источник

NS

Nick Semin in SwiftBook
Alexandr✔️
Словесная интерпретация:
Если есть значение у опционала, записываем его в локальную переменную и выполняем блок кода после if let
Ах, вот оно что!
То есть можно просто написать ‘’’ if присваивание ‘’’, и если будет присвоенное значение > 0, то следущий блок выполнится?
источник

NS

Nick Semin in SwiftBook
Варя Кузнецова
То есть одноврпменно проверка на нил, прошла - то записывается в переменную, которая не опционал (т е запись не в Int?, а в int) , не прошла - идем в else
В каком случае может не пройти проверка? Разный тип данных?
источник

ВК

Варя Кузнецова... in SwiftBook
Nick Semin
В каком случае может не пройти проверка? Разный тип данных?
Если в переменной nil
источник

ВК

Варя Кузнецова... in SwiftBook
Let v: int? = nil; if let k = v {} else {пойдет сюда}
источник

A

Alexandr✔️ in SwiftBook
let value: Int? = 0

if let value = value {} // опциональный байндинг
if value == 0 {} // сравнение
источник

ВК

Варя Кузнецова... in SwiftBook
Nick Semin
Ах, вот оно что!
То есть можно просто написать ‘’’ if присваивание ‘’’, и если будет присвоенное значение > 0, то следущий блок выполнится?
Да. Let v: int? = 5; if let k = v, k > 0 {пойдет сюда} else {}
источник

ВК

Варя Кузнецова... in SwiftBook
С телефона не оч удобно, так что без переносов, сори
источник

NS

Nick Semin in SwiftBook
Alexandr✔️
let value: Int? = 0

if let value = value {} // опциональный байндинг
if value == 0 {} // сравнение
Окей, понял, спасибо!
источник

NS

Nick Semin in SwiftBook
Варя Кузнецова
С телефона не оч удобно, так что без переносов, сори
Да ничего, и так понятно
А нужно ли писать k>0? Или это для специально для меня, хех?
источник

ВК

Варя Кузнецова... in SwiftBook
Nick Semin
Да ничего, и так понятно
А нужно ли писать k>0? Или это для специально для меня, хех?
Был вопроспро значение > 0. Nil и 0 разнве значения, не путать с js
источник

NS

Nick Semin in SwiftBook
Варя Кузнецова
Был вопроспро значение > 0. Nil и 0 разнве значения, не путать с js
Даже в мыслях не было про js🤪

Хорошо, спасибо огромное!
источник

ВК

Варя Кузнецова... in SwiftBook
Или неверно поняла вопрос?
источник

NS

Nick Semin in SwiftBook
Варя Кузнецова
Или неверно поняла вопрос?
Хм. Я спросил про этот кусок: ‘if let k = v, k > 0’, нужно ли в самом коде писать к>0? Или Вы хотели показать, что пойдёт в первый блок?
источник

ВК

Варя Кузнецова... in SwiftBook
Nick Semin
Хм. Я спросил про этот кусок: ‘if let k = v, k > 0’, нужно ли в самом коде писать к>0? Или Вы хотели показать, что пойдёт в первый блок?
Я про вопрос
источник

ВК

Варя Кузнецова... in SwiftBook
Nick Semin
Ах, вот оно что!
То есть можно просто написать ‘’’ if присваивание ‘’’, и если будет присвоенное значение > 0, то следущий блок выполнится?
Этот
источник

NS

Nick Semin in SwiftBook
Да, это я понял
источник

NS

Nick Semin in SwiftBook
Я просто про сам код
источник