I'm trying to understand a view controller's lifecycle and I've read a few contradictory statements about awakeFromNib. The docs say that all outlets should be set in awakeFromNib but I see that it's not always true. What is the call's order between awakeFromNib, prepareForSegue and when do the outlets become available?
awakeFromNib vs Outlets - Do the outlets and segues set when we call awakeFromNib
446 Views Asked by Vitya Shurapov At
1
There are 1 best solutions below
Related Questions in IOS
- URLSession requesting JSON array from server not working
- Incorrect display of LinearGradientBrush in IOS
- Module not found when building flutter app for IOS
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- Expo Deep linking on iOS is not working (because of Google sign-in?)
- On iOS, the keyboard does not offer a 6-character SMS code
- Hi, there is an error happened when I build my flutter app, after I'm installing firebase packages occurs that error
- The copy/paste functionalities don't work only on iOS in the Flutter app
- Hide LiveActivityIntent Button from Shortcuts App
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Actionable notification api call not working in background
- Accessibility : Full keyboard access with scroll view in swiftui
- There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXX'
- I am getting "binding has not yet been initialized" error when trying to connect firebase with flutter
Related Questions in SWIFT
- Navigate after logged in with webservice
- URLSession requesting JSON array from server not working
- When using onDrag in SwiftUI on Mac how can I detect when the dragged object has been released anywhere?
- Protect OpenAI key using Firebase function
- How to correct error: "Cannot convert value of type 'MyType.Type' to expected argument type 'Binding<MyType>'"?
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Using @Bindable with a Observable type in SwiftUI
- How to make a scroll view of 9 images in a forEach loop open on image 6 if image 6 is clicked on from a grid?
- Using MTLPixelFormat.rgba16Float results in random round-off errors
- Search and highlight text of current text in PDFKit Swift
- How is passing a function as a parameter related to escaping autoclosure?
- Actionable notification api call not working in background
- Custom layout occupies all horizontal space
- Is it possible to fix slow CKAsset loading on Cloudkit?
- Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value - MapView.isMyLocationEnabled
Related Questions in UIVIEWCONTROLLER
- Ignoring actions with views in viewDidLoad
- Setup the constrains between the UIView and UIViewController
- Children view controllers must have a common parent view controller in swift
- Adding two UIView vertically
- UICollection view is not rendering properly
- How to delete UINavigationController's space programmatically using Swift?
- AdMob rewardedInterstitial in SwiftUI with UIViewControllerRepresentable . . updateUIViewController triggered too many times
- someone help or explain why the view looks like this and it doesnt take me to the new view controller
- UINavigationController glitchy animation when pushing new view controller
- Background of ViewController disappears for a split second when dismissing a view controller on top of it
- How To: Simple UIViewController w/ .xib using XCode15
- Using NotificationCenter to Pull UIViewController Up After Sending FCMessage
- How to fade up initial root view controller to reveal new background root view controller
- Delegate returning nil even though delegate has been set
- Can't make changes in View from Controller
Related Questions in LIFECYCLE
- How to detect the Minimization of Custom Chrome Tabs on Android?
- Why my delete animation not play before delete
- TypeScript Unexpected token, A constructor, method, accessor or property was expected. Error in IDE
- Why does animation auto stop while onPause
- Spring Boot, deferring Readiness.ACCEPTING_TRAFFIC event?
- lifecycleNotificationUrl endpoint not being called/triggerred from Microsoft's Graph Api when Subscription is about to Expire
- Qt HTTP GET request works, but POST doensn't
- AfterViewChecked behaves differently in Chrome and Firefox
- Blazor: Is it possible to trigger OnParametersSet method for a specific parameter?
- How properly unmount state within ComponentWillUnmount to avoid memory leaks?
- OpenLiberty readiness probe implementation
- viewmodel dependencies not working in android studio
- Are useMemo and useEffect callback good places to run code only at the birth and death of a React component?
- androidx.lifecycle.Transformations not imported
- How to Detect System Shutdown in WPF App's OnExit Method?
Related Questions in AWAKEFROMNIB
- Custom UITableViewCell, UISlider subview unexpected sizing behavior
- Why does UITableviewCell UINib init crash
- Inconsistent awakeFromNib behavior when adding NSToolbar
- Unable to Dequeue Registered CollectionViewCells
- On awakeFromNib() - Error Instance member 'button' cannot be used on type 'CustomView'
- Set properties before awakeFromNib fires
- Why is this View nil in awakeFromNib()?
- awakeFromNib Returning Null UILabel Values
- iOS Memory leak with nib
- Buildtime Canvas Pod xCode issue | missing a [super awakeFromNib] call || from CSAnimationView.m file
- How to reference a UICollectionView from other custom UICollectionViewCells
- @IBOutlet UITableView! is nil when i set it's delegate inside function awakeFromNib()
- Handling of awakeFromNib for the object that is File's Owner
- Are nib/xib files meant to be used in diffrent view controllers ?
- awakeFromNib not get called in UIViewController subclass with xib file
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Your view controller and its view hierarchy are loaded from separate nib files at runtime. Outlets to the view hierarchy aren't connected until the view hierarchy is loaded, which happens after the view controller is loaded. (I have explained this in more depth in this answer.)
Let's say you have a “master” view controller in a navigation controller. The master view controller performs a segue to push a “detail” view controller. Here's the order of events:
Detail view controller is loaded from its nib. If the storyboard scene contains other top-level objects, these are also loaded.
Detail view controller receives
awakeFromNib: detail view controller's outlets to other top-level objects in the scene are connected, but outlets to the view hierarchy are not.Master view controller receives
prepareForSeguewith the segue pointing at the detail view controller.Segue asks navigation controller to push detail view controller.
Navigation controller asks detail view controller for its view, to add to the navigation controller's view hierarchy.
Detail view controller loads its view hierarchy nib. This connects the detail view controller's outlets to its view hierarchy.
All objects in the view hierarchy receive
awakeFromNib.Detail view controller receives
viewDidLoad.