Swift instantiateViewController without storyboard ?programming
Asked Answered
H

1

5

Is there any way instantiateViewController without using storyboard ? I did not use storyboard.

Highminded answered 22/4, 2017 at 15:38 Comment(5)
Just create an instance of the view controller like you would any other class. What's your actual issue?Congo
any code example ?Highminded
I don't know how to do itHighminded
For using storyboard storyboard!.instantiateViewController(withIdentifier: "Second") but I did not using storyboardHighminded
let viewController = MyViewController(). What's the question?Congo
E
9

Yes you can init you're controller with nib name:

let main = UIViewController(nibName: "Second", bundle: nil)

Also you can call constructor without parameters like:

let main = UIViewController()
Esotropia answered 22/4, 2017 at 15:44 Comment(7)
thank you! let main = UIViewController() it worked I will accept your answer as correctHighminded
@Highminded the first line is using from storyboard...basically wherever you see nibName it means from storyboard...The 2nd line is purely instantiating a viewController programatically...though you would also have feed the related properties of it ie buttons, labels,views,etc...Tiffanytiffi
@Honey first approach could be used with nibs also.Esotropia
@Honey No, the first one is not using a storyboard. It's using a nib. You can have standalone nibs without ever using a storyboard. Nibs have been around much longer than storyboards.Congo
@Congo ohh ok. Thanks for the correction. But don't you have to create that nib from storyboard? Or your saying you can create nibs programmatically?Tiffanytiffi
@Honey No, nibs are created in Interface Builder, without using a storyboard. Or when you create a new view controller class, Xcode gives you the option of also creating a nib.Congo
@Congo Thanks...after 3000reps you expect to learn more complex stuff rather not knowing the diff between interface builder and storyboard #facepalm!Tiffanytiffi

© 2022 - 2024 — McMap. All rights reserved.