Re: windowDidLoad not getting called
Re: windowDidLoad not getting called
- Subject: Re: windowDidLoad not getting called
- From: Quincey Morris <email@hidden>
- Date: Thu, 19 Mar 2015 21:21:30 +0000
On Mar 19, 2015, at 13:39 , Bill Cheeseman <email@hidden> wrote:
>
>> On Mar 19, 2015, at 3:54 PM, Ken Thomases <email@hidden <mailto:email@hidden>> wrote:
>>
>> That doesn't help with getting the window controller's -windowDidLoad method called. In fact, that setting almost never helps with anything and, in my opinion, should generally be off. Turning it on just takes control away from the window controller.
> I believe you're mistaken when you say that the "Visible at Launch" setting doesn't result in a call to -windowDidLoad.
I believe he was saying it wouldn’t help with the OP’s problem, not that windowDidLoad doesn’t happen in that case.
> As far as I'm aware, the only thing that distinguishes the Visible at Launch setting from all of the other Interface Builder settings is that it got a bit of a bad name way back at the beginning because people misunderstood its (admittedly misleading) wording.
I’m 100% with Ken on this issue. The setting is far more horrible than you suggest. If you are creating the window’s window controller in code, the window controller won’t exist when the window is created (!). Aside from that, a visible-at-launch window may end up created before the app’s supporting machinery expects it (for example, there may be relevant properties whose value isn’t known until later), and this can cause strange and hard-to-debug behavior.
I’d put it this way:
— Never, ever use “visible at launch” on any window that has a window controller.
— Don’t bother with “visible at launch” on a window without a window controller. It’s not worth the saving of 1 line of code to show the window.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden