Re: Why can't I use any object as a key in a dictionary?
Re: Why can't I use any object as a key in a dictionary?
- Subject: Re: Why can't I use any object as a key in a dictionary?
- From: Roland King <email@hidden>
- Date: Mon, 01 Feb 2010 16:10:11 +0800
Because NSDictionary requires keys to be copyable because it copies them
(it's in the documentation). Use a CFDictionary() instead, you can set
it up to retain the keys and do what you want.
Rick Mann wrote:
I'd like to use a CALayer object as a key in a dictionary. The reason is that when my app detects a hit in a layer, I need to quickly determine which object I've associated with it. Since I can't store a reference to an arbitrary object in the CALayer, a dictionary seems to be the most expedient way to do that.
Unfortunately, I can't seem to add my layer as the key (it fails with "-[CALayer copyWithZone:]: unrecognized selector sent to instance 0x50132a0"). It's really pretty handy to be able to use any object as a key, why is this not the case in Obj-C?
TIA,
Rick
_______________________________________________
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