As document said “you’re sure that the optional does contain a value, you can access its underlying value by adding an exclamation mark (!)”
So why UIViewController init method use
init(nibName nibName: String!,bundle nibBundle: NSBundle!)
and tell me "If you specify nil, the nibName property is set to nil."
Why not use init(nibName nibName: String?,bundle nibBundle: NSBundle?)
instead?
I am so confused about this.