On 12/05/2010, at 6:36 AM, Alejandro Marcos Aragón wrote: > Hi all, > > I'm new to Cocoa, and I couldn't find information about an error that I'm > getting on the web. I'm trying to create an NSMutableDictionary where the > keys are of type UIButton*: > > > // create button for unit > UIButton* unitButton = [[UIButton alloc] init]; > [sourceButtonMap setObject:[NSString > stringWithString:@"no"] forKey:unitButton]; > > Of course, the sourceButtonMap is defined in the class and initialized in the > init function as sourceButtonMap = [[NSMutableDictionary alloc] init]; > > The error I get when I try to add the key-value pair is: > > *** Terminating app due to uncaught exception 'NSInvalidArgumentException', > reason: '*** -[UIButton copyWithZone:]: unrecognized selector sent to > instance 0x3931e90' > > Is this happening because I can't store UIButton* as keys?
Welcome to iPhone OS development! This most certainly is happening because you cannot use UIButton objects as keys in a dictionary because NSDictionary copies the objects used as keys. Furthermore, UIButton does implement the NSCopying methods. > Can anyone point me why I'm getting this error? Thank you all, <http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html> See the second paragraph of the section titled "Overview". I suggest you revise your design. I don't know exactly what you're trying to do. Perhaps @"no" should be the key for the UIButton? Kiel > > aa_______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > 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/kiel.gillard%40gmail.com > > This email sent to kiel.gill...@gmail.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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 arch...@mail-archive.com