Re: Array of dictionaries containing NSColor in NSUserDefaults
Re: Array of dictionaries containing NSColor in NSUserDefaults
- Subject: Re: Array of dictionaries containing NSColor in NSUserDefaults
- From: Martin Hewitson <email@hidden>
- Date: Fri, 13 Nov 2009 07:26:35 +0100
On Nov 13, 2009, at 6:58 AM, Graham Cox wrote:
>
> On 13/11/2009, at 4:41 PM, Martin Hewitson wrote:
>
>> The point is to store an array of 'items' with a 'name' together with a 'color'. And later there may be more properties of an 'item'.
>
>
> This really calls for your own 'item' class that holds all the various properties that you have in mind. You can then easily bind to any property, and the class becomes a strict "template" for the valid properties of the item. A dictionary is open-ended and can't be made to conform to a common template. You will therefore be doing a lot of extra work to force it to fit your design when a simple class is sufficient. Make it NSCoding compliant for easy archiving to NSUserDefaults.
>
Oh yes, this is a much nicer idea. Actually, the dictionary items are meant to stand for defaults of an NSManagedObject class. I guess I can just make that class conform to NSCoding and go from there. I'd read somewhere that it was a bad idea to make a subclass of NSManagedObject conform to NSCoding, but I don't recall the rational behind that. Anyway, for this very simple object (entity) it seems like the way to go.
Again, thanks for your thoughts on this!
Martin
> KVC makes the ordinary properties of an object "look like" a kind of dictionary, but forcing an actual NSDictionary to stand in for an object is often quite painful and more hassle than it's worth just to save implementing a simple class, or to gain some minor functionality for free, such as archiving. As it stands an 'item' class with two properties shouldn't take very long to code - you'll be glad you did.
>
> --Graham
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Hewitson
Albert-Einstein-Institut
Max-Planck-Institut fuer
Gravitationsphysik und Universitaet Hannover
Callinstr. 38, 30167 Hannover, Germany
Tel: +49-511-762-17121, Fax: +49-511-762-5861
E-Mail: email@hidden
WWW: http://www.aei.mpg.de/~hewitson
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
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