I want to know the key difference between awakeFromNib() and viewDidLoad() to get more clarity on how it works . Please can anybody explain?
Prepares the receiver for service after it has been loaded from an Interface Builder archive, or nib file.
awakeFromNib gets called when loading ViewControllers from storyboards, but before the view and subviews are initialised - the guarantee that the view and outlets will be initialised, which is basically what renders the method useful when dealing with actual nib or xib files, does not apply.
From Apple documentation:
awakeFromNib
:
The nib-loading infrastructure sends an awakeFromNib message to each object recreated from a nib archive, but only after all the objects in the archive have been loaded and initialized. When an object receives an awakeFromNib message, it is guaranteed to have all its outlet and action connections already established.
See: Nib Files in Resource Programming Guide
viewDidLoad
:
This method is called after the view controller has loaded its view hierarchy into memory. This method is called regardless of whether the view hierarchy was loaded from a nib file or created programmatically in the loadView method. You usually override this method to perform additional initialization on views that were loaded from nib files.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With