On Aug 13, 2008, at 5:34 AM, Andrew Zahra wrote:

I am experimenting with core data. Binding fields such as text fields works fine. But now I have a pop up menu I want to bind to a set of known values. I have a "Task" Entity with a "frequency" field. The frequency field is a set of known values, such as hourly, daily etc, so I have not put this in my model as a separate entity. What is the correct way to handle this situation so the value of the popup menu gets saved and loaded from the core data
store?

  One way to do this (the way I usually do it) is to:

1 - Define somewhere a lookup list based on numbers.
(example: [NSNumber numberWithInt:1] represents "hourly", 2 is "daily" ...) 2 - In your entity, specify your 'frequency' attribute as one of the integer types. 3 - For each popup that uses this list, create an item for each word (hourly, daily, ...) by hand, setting each item's tag to the number that represents that item.
    (example: set the "hourly" item's tag to "1")
4 - Bind the popup's "selectedTag" to your Task entity's 'frequency' attribute via some controller.

That's it. You may wonder why I don't just suggest using the 'selectedIndex' binding. Simple: you may some day want to insert "weekly" between "daily" and "monthly". That would cause problems with existing user data since the indices would change. Via the tag method, you can reorder / insert menu items at will.

--
I.S.


_______________________________________________

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