Re: KVC - how to get properties into a common form?
Re: KVC - how to get properties into a common form?
- Subject: Re: KVC - how to get properties into a common form?
- From: Andy Lee <email@hidden>
- Date: Thu, 3 Apr 2008 11:15:48 -0400
Right, it depends on your requirements for the "common form."
Rather than do a huge switch statement, you could add your own -
myDescription method in a category of NSObject. It could call -
description by default, and you could override it in categories of
other classes you care about where -description isn't what you want.
In general, huge switch statements based on the class of an object are
a good indication that you want to use inheritance, and the nice thing
about categories is that you can apply extra inheritance to classes
that you don't own.
--Andy
On Apr 3, 2008, at 10:54 AM, Jens Alfke wrote:
On 3 Apr '08, at 5:19 AM, Matt Gough wrote:
Is there an easy way to convert whatever <id> is into a common
form (a string, in my case), or do I have to have a huge switch
statement that checks the class and calls different code for each
kind to convert to a string? (or similar, like an NSObject
category that implements -stringValue, overridden for every
class). Just wondering if there's something built-in that will do
this already.
There is -description, but that probably isn't what you want.
I think it's probably the best option. For classes that have a
"natural" string representation, like NSString and NSNumber, -
description returns it. For others, it at least returns something
readable.
The problem, Graham, is that it's ambiguous what the string
representation of an arbitrary object is supposed to be. With a few
exceptions as above, it tends to be pretty task-specific. Should an
array look like "a, b, c", or "{a; b; c;}" or "<item>a</item>
<item>b</item> <item>c</item>" or ...? So there can't be a single
built-in method that does the right thing for every purpose.
—Jens_______________________________________________
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
_______________________________________________
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