Search Your Question

Wrapping and UnWrapping in Swift

Ans : 

An Optional is basically means that the variable can be nil

i.e: 

var itCanBeNil: String? = “You can make me nil”
itCanBeNil = nil
Question Mark(?) indicates the fact that itCanBeNil Variable can be nil

Let’s try  to make nil a variable which declared without Optional ?

i.e

var itCantBeNil: String = “You can’t make me nil”
itCantBeNil = nil  //Compiler Throws Exception as “Nil cannot be assigned to type ‘String’ ‘”

If we need to get the value from the Variable if it is Optional, we need to unwrap it,
unwrapping is nothing but just putting an exclamation mark at the end

i.e

var itCanBeNil: String? = “Unwrap me”
print(itCanBeNil) //Output: Optional(Unwrap me)
print(itCanBeNil!) //Output: Unwrap me

We can also declare optionals to automatically unwrap by using exclamation mark instead of a question mark

i.e

var itCanBeNil: String! = “Automatic unwrap”

print(itCanBeNil) //No Wrapping needed

No comments:

Post a Comment