Am trying to build a simple calculator app using swift. I have created two view controller with the basic and advanced options. Earlier in Obj-C used to do this
[[AViewController alloc] initWithNibName:@"nibName" bundle:nil]
In swift I cannot even import my new view controllers. But still I can declare as var aViewController:AViewController?
and use it. But I am stuck at loading nib
I tried with AViewController(nibName: "nibname", bundle: nil)
, but everything results in compiler error Could not find an overload for __conversion that accepts the supplied arguments
Try this one,
This works perfect for me.
Declaration : SWIFT (UINib Class Reference)
Declaration : SWIFT (UIViewController Class Reference)
The exclamation mark effectively says, “I know that this optional definitely has a value; please use it.” This is known as forced unwrapping of the optional’s value.
This is the reason, we cannot pass "nil" as second parameter i.e bundle
Cheers..!
Looks like
nil
was the one causing trouble when I replaced it withNSBundle.mainBundle()
it worked.