• 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: NSTableView Popup Column issue
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTableView Popup Column issue


  • Subject: Re: NSTableView Popup Column issue
  • From: email@hidden
  • Date: Sat, 07 Feb 2009 01:05:48 -0500

Namaste!

Thank you for your reply.  See my commentary below.

However, my question still remains unanswered.

Peace, Love, and Light,

/s/ Jon C. Munson II

Quoting Kyle Sluder <email@hidden>:

On Fri, Feb 6, 2009 at 3:36 PM, Jon C. Munson II <email@hidden> wrote:
Well, using "selection" didn't work (now that I've had an opportunity to
test it).  It definitely needs to be arrangedObjects (or something similar).
So, it isn't that.

"Arranged Objects" is plural. "Selected Object" is singular. It should be apparent why this is not going to work out, and why you're winding up with the -description representation of an array in your popup menu. Table views, on the other hand, support multiple selection, so the bindings for NSTableView are plural: "Selected Indexes."


Actually, it isn't obvious. If it were, I'd get it. The reason "selection" didn't work (and I should have seen that earlier) is that it is singular in nature. If you create a "form," with "fields" on it, you'd use selection as you are only dealing with one record at a time (in what I'm doing, "selection" is the same as "currently selected record"). This is simply not functional for a tableview as the tableview works off of collections of objects. Setting the SelectedObject binding of the popup column to arrangedObjects will correctly display the object's chosen display field data (for lack of a better descriptor) for each of the rows in the collection - "selection" will not. Selection only displays the value that is currently selected in the popup, regardless of the underlying data, and the same value is then displayed across all the rows.


Why are you binding "Selected Object" to a collection of objects?
Typically the Cocoa controls automagically set up their selection
bindings when bound to a controller anyway.  This is something that I
have not seen documented, but that Apple employees on this list have
confirmed.  I know it's true for NSTableColumn.

Are you saying that I don't need to bind the Selected Object of the popup at all? This is contrary to what I've seen in the samples. I'll give it a shot though as it is easy enough.



Also, you are aware that Core Data allows for many-to-many relationships without intermediary entities (they are not called "tables"), right? I understand you have attached attributes to this relationship, and you need an intermediary entity in this case.


Yes, Core Data does allow for many-to-many relationships. However, after a solid week of fooling around with trying to get that to work (there are only so many permutations one can use), I was not able to produce a working prototype. Nor did I see any samples that covered that particular arrangement. You are welcome to give it a shot though. Create a simple test. Two entities, Person and Hat. Many-to-many relationship. A person can wear many hats, and a hat can be worn by many people. I couldn't get this to function w/o an intermediary entity.


Interestingly enough, the Core Data dox state that when SQLite is used as the store, in a many-to-many relationship, the intermediary table is automatically generated (which is the behavior I expect).

Your naming convention is also rather screwy.  It looks like
Bastardized Hungarian (aka "Anti-Hungarian Notation", according to
Larry Osterman:
http://blogs.msdn.com/rick_schaut/archive/2004/02/14/73108.aspx ).  It
conveys no useful information; in fact, since Cocoa (and KVO in
particular) rely on the dynamic nature of the ObjC runtime, your
prefixes are lying.  And of course, they're incorrect, since there's
no such thing as a "table" in Core Data land.  I would suggest ending
your prefixing habit now before you confuse yourself when what you
thought was a "tbl" winds up being an "_NSKeyValueObservingEntity" in
the debugger.


The only naming convention "rule" I saw was that names need to begin with lower case letters (this due to macro facilitation for the creation of accessors, etc.). I use a naming convention that is particular to my needs, not the whole world or some purist's notion. Also, names should indicate the objects they represent. "tbl," or table, is descriptive enough for me to know what it is without having to look it up somewhere else. And, isn't that the real point? Sure, we could argue what something "really" is, but that may not help you later - especially if there is a great deal of abstraction going on. If I had an entity that wasn't a table, I'd give it the appropriate prefix. Let's not get off on a tangent of naming things as that is definitely a matter of personal preference. What matters is that the code is readable, not too cryptic, and you can remember what you did later down the road with minimal commenting.


As a tangent, when doing database design, one begins with "entities" but those turn into "tables" so, in reality, one is really designing "tables." Entities are first used to described high-level relationships, but, as one works "down" into the implementation (going from logical to physical), most of the time the "entities" become tables or a number of tables. A great deal of fancy terminology which can sometimes add clarity but then can also muddy the waters. Just my personal opinion though.

--Kyle Sluder




_______________________________________________

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: NSTableView Popup Column issue
      • From: "Jon C. Munson II" <email@hidden>
    • Re: NSTableView Popup Column issue
      • From: Kyle Sluder <email@hidden>
    • Re: NSTableView Popup Column issue
      • From: mmalc Crawford <email@hidden>
References: 
 >NSTableView Popup Column issue (From: "Jon C. Munson II" <email@hidden>)
 >Re: NSTableView Popup Column issue (From: Keary Suska <email@hidden>)
 >RE: NSTableView Popup Column issue (From: "Jon C. Munson II" <email@hidden>)
 >Re: NSTableView Popup Column issue (From: Kyle Sluder <email@hidden>)

  • Prev by Date: Re: @synchronized in thread safe accessors
  • Next by Date: Re: Syntax errors, undeclared variables
  • Previous by thread: Re: NSTableView Popup Column issue
  • Next by thread: Re: NSTableView Popup Column issue
  • Index(es):
    • Date
    • Thread