When you see this error, this is because an object, such as an unbound IBOutlet, is being accessed. The reason he says is that when accessing an optional object, most of the objects are wrapped in such a way as to resolve the value nil, and when accessing an optional object you "expand" the object to access its value, this error means that was the value assigned to the variable.
For example, in this code
var str:String? = nil var empty = str!.isEmpty
The str variable is declared and? means that it can be null, which makes it an optional variable, and as you can see, it is set to nil. He then creates the logical boolean variable empty and sets it to str! .IsEmpty, which matters! denotes a reversal, and since the value is nil, you will see
Can't unwrap Optional.None error
Tony
source share