Re: Copying id
Re: Copying id
- Subject: Re: Copying id
- From: Mike <email@hidden>
- Date: Mon, 11 Aug 2008 19:15:36 -0700
Ken Thomases wrote:
On Aug 10, 2008, at 2:05 AM, Mike wrote:
How does one go about copying an object specified by id when one
doesn't know the object type and the object does not implement
NSCopying protocol?
The short answer is: you don't. If an object's class doesn't implement
NSCopying, then there are no known semantics for what making a copy of
it should mean. Just to pick a random example, what might it mean to
copy an NSTask object? Or an NSThread? I could keep going, of course.
However, I'm having a hard time imagining under what circumstances you
would want to do this. If you don't know what kind of object you have,
and the object itself doesn't know how to make a copy, why do you want
(or think you need) to make a copy?
Cheers,
Ken
Because, I have a case where I need to create my own object for storing
key/value pairs in a sorted array. Since NSDictionary, etc. doesn't
allow sorted elements in the dictionary, I have to define my own - but
in an array instead of a dictionary.
Both the key and value for each key in the items in my array can be of
any object type (id). The sorted key/value paid array class has to be
able to make copies of the items in the arrays when it goes to sort
them. Since the array class has to be generic to work with any kind of
key, and any kind of object, I can't know the types beforehand. Since
the array lass is generic and has to work for any objects, I can't
assume that the objects implement NSCopying.
Mike
_______________________________________________
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