• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match!
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match!


  • Subject: Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match!
  • From: Ken Thomases <email@hidden>
  • Date: Wed, 20 Apr 2011 00:41:16 -0500

On Apr 19, 2011, at 8:46 PM, Ben Golding wrote:

> I should have been more specific.  What I have looks like:
>
> popupButton.content -(Transformer)-> [arrayController].arrangedObjects
> popupButton.selectedIndex --> [arrayController].selectionIndex
>
> I have also tried:
>
> popupButton.contentValues -(Transformer)-> [arrayController].arrangedObjects
> popupButton.selectedIndex --> [arrayController].selectionIndex

You can't bind contentValues without also binding content, and contentValues should be bound to something "within" the content binding.  (That is, the binding should be the same as for content except perhaps with additional elements to its model key path.)

> In both cases, the transformer is passed an _NSControllerArrayProxy object which wasn't what I was hoping for; I had hoped for an NSString.  I could probably dredge around in that object and find some methods to use but all the docs say "don't use undocumented methods/classes" so my gut reaction is to try another way.

Have you tried setting a model key path?  How about "description"?

People often try binding, via array controllers, to arrays of values, and then want those values represented in the view.  It is my experience that bindings work better with arrays of objects, with a property of each object to be represented in the view.

In other words, an array of strings is often problematic, whereas an array of, for example, People objects, which have a "name" property which is a string, works better.

You can pretend the former case is more like the latter by using a model key path like "description" or even "self", although the latter case still tends to be more amenable to bindings.

Regards,
Ken

_______________________________________________

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

  • Follow-Ups:
    • Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match!
      • From: Ben Golding <email@hidden>
References: 
 >ArrayController vs Pop-up button vs Transformer -- three way tag team death match! (From: Ben Golding <email@hidden>)
 >Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match! (From: Quincey Morris <email@hidden>)
 >Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match! (From: Ben Golding <email@hidden>)
 >Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match! (From: Kyle Sluder <email@hidden>)
 >Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match! (From: Ben Golding <email@hidden>)

  • Prev by Date: Re: NSArrayController & image in column
  • Next by Date: How to simulate key press events
  • Previous by thread: Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match!
  • Next by thread: Re: ArrayController vs Pop-up button vs Transformer -- three way tag team death match!
  • Index(es):
    • Date
    • Thread