Optional binding and defer statements in iOS swift

In my previous article about swift optionals, I mentioned about optional binding.

Abhimuralidharan
5 min readJul 12, 2017

— Optional Binding (if -let statements) :

Use optional binding to find out whether an optional contains a value, and if so, to make that value available as a temporary constant or variable.

An optional binding for the if statement is as follows −

if let constantName = someOptional {
//statements using 'constantName'
} else {
// the value of someOptional is not set (or nil).
}

Optional binding is the recommended way of unwrapping optionals.This method is safer than force unwrapping and implicit unwrapping. Refer this article for more info on this concept.

— if -var statements :

If you use the let then you will not be able to change myValue.

if let myValue = myObject.value as NSString? {
myValue = "Something else" // <-- Compiler error
}

On the other hand with var you can.

let someOptionalString:String?someOptionalString = "abcd"if var varString = someOptionalString {print(varString) //prints abcdvarString = "efgh"print(varString) //prints efgh

--

--