Re: Opposite of windowDidLoad

2017-01-12 Thread Charles Srstka
> On Jan 12, 2017, at 12:53 PM, Quincey Morris 
>  wrote:
> 
> windowWillClose is an acceptable place to tear down the binding only if (a) 
> the thing bound, and the thing bound to, still exist, and (b) there is no 
> chance that the window will be re-opened. Both of those are typically true, 
> but it does depend on what you’re doing.
> 
> Window dealloc/deinit is also a possible time, but again you need to be sure 
> that the relevant objects still exist, probably by keeping strong references 
> to them in the window controller itself (and again it depends on what you’re 
> doing).

The nice thing about windowWillClose for this is that if the binding ends up 
retaining your window controller somehow, you don’t end up with a retain cycle.

Charles

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Opposite of windowDidLoad

2017-01-12 Thread Quincey Morris
On Jan 12, 2017, at 03:46 , Daryle Walker  wrote:
> 
> I was thinking of adding a Cocoa Binding during my window-controller's 
> did-load method. But where would the unbinding go?

You’re sort of asking the wrong question. The time to bind or unbind is 
dependent on the thing being bound and the thing being bound to. You must 
establish the binding after both things have been created, and tear down the 
binding before either thing is destroyed.

Note that windowDidLoad is a place where things like this are often done, 
because it happens at a time where you know that everything in the window that 
comes from a NIB file has been loaded and therefore exists.

> I see waiting until deinit or implementing NSWindowDelegate and using 
> windowWillClose.

Quibble: you *conform to* NSWindowDelegate (all of its methods are optional, so 
you can conform to it without implementing anything in it), and you *implement* 
windowWillClose (or not, since it is optional).

windowWillClose is an acceptable place to tear down the binding only if (a) the 
thing bound, and the thing bound to, still exist, and (b) there is no chance 
that the window will be re-opened. Both of those are typically true, but it 
does depend on what you’re doing.

Window dealloc/deinit is also a possible time, but again you need to be sure 
that the relevant objects still exist, probably by keeping strong references to 
them in the window controller itself (and again it depends on what you’re 
doing).

> Is there a similar access point for view-controllers?

Not for tearing down the binding. viewDidLoad is provided for you at the 
completion of NIB loading, for the same reason as windowDidLoad: because it’s 
hard otherwise for your code to know when NIB loading is complete without being 
told. For the opposite action, you can do it at dealloc/deinit as above.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Opposite of windowDidLoad

2017-01-12 Thread Sandor Szatmari
If the window has the same lifespan as the controller, why not dealloc?  
Otherwise, wherever your closing your window.

Sandor

> On Jan 12, 2017, at 06:46, Daryle Walker  wrote:
> 
> I was thinking of adding a Cocoa Binding during my window-controller's 
> did-load method. But where would the unbinding go? I see waiting until deinit 
> or implementing NSWindowDelegate and using windowWillClose.
> 
> Is there a similar access point for view-controllers?
> 
> Sent from my iPhone
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> 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:
> https://lists.apple.com/mailman/options/cocoa-dev/admin.szatmari.net%40gmail.com
> 
> This email sent to admin.szatmari@gmail.com

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Opposite of windowDidLoad

2017-01-12 Thread Daryle Walker
I was thinking of adding a Cocoa Binding during my window-controller's did-load 
method. But where would the unbinding go? I see waiting until deinit or 
implementing NSWindowDelegate and using windowWillClose.

Is there a similar access point for view-controllers?

Sent from my iPhone
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com