Can the value part of a key-value pair in an NSMutableDictionary be a literal NSString, like @"name"?

It would seem so, because this works or at least doesn't crash:

        NSMutableDictionary *bobo;
        bobo = [[NSMutableDictionary alloc] init];
        [bobo setValue:@"root" forKey:@"name"];


However, I have a class derived from NSMutableDictionary, and it is crashing when I try to do the same thing:


@interface myClass : NSMutableDictionary {
}
@end

myClass *tree;
tree = [[myClass alloc] init];
[tree setValue:@"root" forKey:@"name"];


Why does that crash when the first does not? Are subclasses required to have member variables, or can they just have new functions? Mine don't have any variables, maybe that is the problem?




Look like someone that did not read the fondamental before coding ;-)

Short answer: because NSDictionary is a class cluster.

Long answer here:
http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_9.html



_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to