From a quick look at the app in action, I'd say no.

Say for example a school wanted to organise various clubs (chess club, debating club, objective-C club, etc). They could have an entity for each of the clubs, with venue, time, motto etc attributes.

Since the members of each club will come from the same pool (the pupils at the school), there could be another entity for pupils, with name, contact details etc attributes.

Now each of the club entities will need a to-many relationship to the pupils entity, so that rather than retyping member details each time, they can be selected from 'pupils'. Since there's no way of knowing how many pupils will be in each club, they will have to be added to a set for that club as a reference, as needed. This would be a many-to- many relationship I imagine, since the people in the objective-C club might also be in the mountain biking club.

However, I leapt into the mailing list too quickly, seeing a similar topic popup, so I need to go and give it more thought, and if I'm still stuck, I'll send another message.

Thank you

Ian.


On 28/03/2008, at 5:11 AM, Adam Gerson wrote:

Is what you are describing similar to the "To Dos" example at:

http://homepage.mac.com/mmalc/CocoaExamples/controllers.html


Adam



On Thu, Mar 27, 2008 at 5:33 AM, Ian Jackson <[EMAIL PROTECTED]> wrote:
If I may be so bold, I'd like to jump in on this question. I have a
similar situation, but I want to have a table representing a to-many
relationship for entity1, which the user can populate by choosing any
number of entries from a entity2.

e.g. entity2 has 50 entries.

       entity1 1st entry refers to entries 1, 4, and 9 of entity 2.
       entity1 2nd entry refers to entries 4, 8 and 26 of entity 2.

So I envisage that the table in entity1 should have add and remove
buttons. When you click add, a new row is added to the table. The
first column in the table is a NSCombobox, which can be used to select
from the entries in entity 2.

The employee/department tutorial seems to come close to doing this,
but as seems to be more the norm, it assumes that all entries in the
relationship are wanted, which is not the case here.

So, I set up the interface as above (table with NSCombobox, and +/-
buttons). I created a special array controller just for this to-many
relationship, and bound its contentset to the relevant relationship in
entity1.
The first column in the table is bound to the specially created array
controller, arrangedObjects, but this is a dead end. I can't see how
to make the combobox choose the entry. The combo box doesn't have the
same binding options as a popup menu.

Any advice as to how to approach this would be great.

Ian.




On 27/03/2008, at 7:34 PM, Adam Gerson wrote:

I think that internally when you create a to-many core-data
relationship the group of objects is stored as an NSSet as opposed to
an array.


http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSSet_Class/Reference/Reference.html

http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaBindings/Concepts/CntrlContent.html#/
/apple_ref/doc/uid/TP40002147-181724

http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/AccessorConventions.html#/
/apple_ref/doc/uid/20002174-178830-BAJEDEFB


On Thu, Mar 27, 2008 at 2:10 AM, Rick Mann <[EMAIL PROTECTED]>
wrote:

On Mar 26, 2008, at 11:06 PM, Adam Gerson wrote:
Each table should have its own ArrayController if the two tables
represent the data from two different entities. Since you entities
are
related I am assuming one entity has a property that is a to-many
relationship to the other entity. Set the ContentSet bindings for
ArrayController2 to be the selection of ArrayController1.

ArrayController2 ContentSet
Bind to = ArrayController1
Controller Key = selection
Model Key Path = (the name of the relationship that represents
entity2
in entity1)

This will cause ArrayController2 to always populate the TableView
with
the objects selected by ArrayController1

Let me know if that needs to be more clear.


Excellent! That was exactly what was missing. Thank you.

Why ContentSet, and not ContentArray or one of the other ContentXXX
things?

--
Rick



_______________________________________________

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/bianface %40gmail.com

This email sent to [EMAIL PROTECTED]



_______________________________________________

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/agersonl%40gmail.com

This email sent to [EMAIL PROTECTED]


_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to