On 2013 Oct 17, at 11:35, Trygve Inda <cocoa...@xericdesign.com> wrote:

> I bind the popup:
> 
> Content (myArray.arrangedObjects)
> Content Objects (myArray.arrangedObjects.Identifier)
> Content Values (myArray.arrangedObjects.Name)

I didn't have time today to really understand what you are doing.  I'll just 
say that using Cocoa Bindings on popups, or any menu for that matter, is not a 
good idea.

The advantage of Cocoa Bindings is that it keeps model and view in sync without 
your code having to watch them.  You must trade this off against the 
disadvantages of Cocoa Bindings, which I'm not going to list here.  One of them 
may be causing the issue you're having.

But in fact you don't have to watch a menu, because a menu is invisible and 
dormant until a user clicks it, and when that happens you can do whatever 
updating is needed in the delegate method -menuNeedsUpdate:, and everything 
remains frozen until the user invokes one action (or does not) and  then a 
target gets an action message.  You don't have to worry about things happening 
behind the scenes.  It's all very simple and straightforward.

So, when you use Cocoa Bindings on a menu, you get no advantage, but all of the 
disadvantages.  Think about using -menuNeedsUpdate:, target, and action instead.


_______________________________________________

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

Reply via email to