• 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
Cocoa bindings and reluctance to use NSPopupButon
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cocoa bindings and reluctance to use NSPopupButon


  • Subject: Cocoa bindings and reluctance to use NSPopupButon
  • From: Erik Buck <email@hidden>
  • Date: Sun, 18 May 2008 20:03:48 -0400

Johnny Lundy had a difficult time using NSPopupButon along with bindings. The struggles are archived via www.cocoabuilder.com for posterity. Mr. Lundy recently wrote "...I am still very very hesitant to put another NSPopUpButton on my interface, because of the complete absence of guidance on how to implement the thing, and the many days it took to get a single one working, and even now I have no idea why it works..."

Having just now re-read Mr. Lundy's questions and follow-up, I don't think he had any problem with NSPopupButton at all. That makes sense because NSPopupButton is not particularly difficult to use. I think Mr. Lundy's struggles were all with "bindings." Had I been inclined to participate in the threads at the time, I would have said the following:

1) Bindings are an ADVANCED technique that was recently introduced and not yet completely documented. If someone tries to use bindings in a situation where he/she doesn't already know how to write the application without bindings, it is a mistake to use bindings.
2) Bindings exist to _reduce_ the amount of Controller code needed when the Model View Controller pattern is used. Bindings don't eliminate controller code and can't handle all Controller responsibilities.
3) Bindings appear to be magic, but they are in fact just an abstraction that enables reuse in place of commonly re-written controller code.
4) Bindings ARE NOT A REPLACEMENT FOR ALL CONTROLLER CODE, and bindings are often not the best technique to use.


Mr. Lundy would have been better off writing his controller code explicitly and using the established outlet, target and action patterns instead of bindings. Not only would he have achieved complete control over all aspects of his application's behavior, he would have gained insight into how, and and why bindings work or not. I find that I hardly ever use bindings in my own applications. I am more comfortable doing things the good old fashion way in part because I often want very fine control over application behavior. I blame Mr. Lundy's specific struggles on misguided insistence on using the wrong tool for the job.

I counsel Cocoa newbies to just forget about the Bindings inspector in Interface Builder and pretend they don't exist.





_______________________________________________

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: Cocoa bindings and reluctance to use NSPopupButon
      • From: David <email@hidden>
  • Prev by Date: Re: NSTreeController problems
  • Next by Date: Re: Cocoa et al as HCI usability problem
  • Previous by thread: Re: validateMenuItem() not always being called
  • Next by thread: Re: Cocoa bindings and reluctance to use NSPopupButon
  • Index(es):
    • Date
    • Thread