On Feb 22, 2009, at 9:02 AM, Jean-Daniel Dupas wrote:

Le 22 févr. 09 à 15:14, Ken Tozier a écrit :

Hi

I need to get unique identifiers for all objects I'm passed for use as keys in an NSMutableDictionary. I tried using hash but I don't know if that would really be unique. It seems like the console printout for classes with no "description" method would be perfect. I know how to get the class but how to get the object address in hex? Here's a partial solution

[NSString stringWithFormat: @"<%@ %???>", [[someObject class] description], someObject];

Is there a format code that would give me the address in hex?

Thanks for any help


Why you don't use the object directly as key instead of a generated string ? If this is the "copy key" behavior of the dictionary that bother you, you can either use the CoreFoundation API and use kCFTypeDictionaryKeyCallBacks to create your dictionary (warning: do not mix CF and NSDictionary call with a custom key callback, the NSDictionary API may call copy: whatever the callback is).
Else, you can use (as suggested by Andrew) NSHashTable or NSMapTable.

As still another option, which is convenient for Tiger deployment, you can use an NSValue (+[NSValue valueWithNonretainedObject:]) to make the object pointer the key for your dictionary.

Cheers,
Ken

_______________________________________________

Cocoa-dev mailing list ([email protected])

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