Re: newbie NSMutable dictionary subclass question

2008-11-17 Thread Jean-Daniel Dupas



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]


Re: newbie NSMutable dictionary subclass question

2008-11-17 Thread Mike Abdullah
As a self-professed newbie, you almost certainly shouldn't be  
subclassing NSMutableDictionary. Can I ask your reasons for doing so?


On 17 Nov 2008, at 00:25, Bob Sabiston wrote:

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?


Thanks for any replies!
Bob

___

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/cocoadev%40mikeabdullah.net

This email sent to [EMAIL PROTECTED]


___

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]


Re: newbie NSMutable dictionary subclass question

2008-11-16 Thread Chris Suter
> 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?

See:




-- Chris
___

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]