Reputation: 2296
I would like to reload my view so that viewDidLoad
redoes all of its work. How can I do that in Swift?
Upvotes: 8
Views: 20490
Reputation: 2482
You could call ViewDidLoad
manually but it is not recommended.
The best thing is to put all your code inside viewDidLoad
in another methods (like loadData
). And call this method again when you need it.
But it depends why you need it. Often ViewWillAppear
or ViewDidAppear
are a better choice.
Upvotes: 0
Reputation: 22731
viewViewDidLoad
and viewWillAppear
are part of the view controller lifecycle and are called automatically by iOS after your UIViewController
got instantiated and before the view appears on the screen. You can call them anywhere in your view controller class, but that's not at all good practice and I would never recommend you to do so!
If you have code that you want to be executed at multiple times during the lifetime of your view controller, put it into separate methods and call these from viewDidLoad
and from the other parts in your code where you need them.
You can read more about the view controller life cycle in Apple's documentation.
Upvotes: 7