I only just recently learned that the file owner to a xib does not have to be a NSWindowController or NSViewController (don't know why I thought that).
So I understand that this is the order things happen:
An object is instantiated (w/ MVC, the controller). Outlet properties are not connected, and point to nil
The nib has to be initialized, with
-initWithNibNamed(and will be loaded when thevieworwindowis accessed) or w/-loadNibNamed(which will initialize then load the nib together)The outlets are all connected once the nib is initialized
-awakeFromNibis called on the controller
But now what doesn't make sense to me, is why it even matters that I specify the owner of the nib in the -loadNibNamed call.
BOOL effectsXibLoaded = [[NSBundle mainBundle] loadNibNamed:@"Effects"
owner:self.effectsController
topLevelObjects:nil];
I say this because I imagine because we have specified in the nib who the file owner is-- and therefore when the nib is initialized, it should know who to connect it's outlets to right?
Or is specifying the owner in -loadNibNamed just a way to add another object to the owners list (if that's a thing?). I imagine there can only be one owner who receives the -awakeFromNib call from one nib, but I'm not sure.
In other words, if I specify the owner, when the nib is waking, it will notify said owner, as well as the owner specified in the xib?
Also I am not confident in my understanding of the order of how things execute, so if I am in need in corrections please don't hesistate