Hi Kyle,
FIrstly, thanks for this insight.


You should be saving your preferences immediately, as soon as they are
changed in the UI.  You should not be waiting for your app to quit.


That makes much more sense, and solves problem 1.

But, just so that I understand your other explanation,



1) Is what I am seeing expected behavior or am I doing something wrong.

You're going to have to post your code.



-applicationWillTerminate: doesn't magically get called.
NSApplication posts this notification to the default notification
center.  NSApplication also automatically signs its delegate up for
this notification.

So at some point your "preference class" (whatever that means) is
signing up for the application will terminate notification.  Does it
do this by making itself the app delegate?  If so, then that would be
why your "other" implementation of -applicationWillTerminate: doesn't
get called.

Kyle, from the "Cocoa Fundamentals Guide": "Although you can dynamically change the delegate, only one object can be a delegate at a time. Thus if you want multiple objects to be informed of a particular program event at the same time, you cannot use delegation."

So, if I understand you and the documentation correctly , even though I had implemented the delegate of NSApplication in **both** of my classes, **only** one of those classes will respond to "applicationWillTerminate:" at a time. If this is indeed correct, then I need to rethink the design of my application, and you have already suggested how to do this.


Michael.
_______________________________________________

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

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

Reply via email to