@interface Banana : NSObject | |
- (id)objectForKeyedSubscript:(id)key; | |
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key; | |
@end | |
@implementation Banana | |
NSMutableDictionary *_attributes; | |
-(id) init { | |
self = [self init]; | |
if (self) { | |
_attributes = [[NSMutableDictionary alloc] init]; | |
} | |
return self | |
} | |
- (id)objectForKeyedSubscript:(id)key { | |
return _attributes[key]; | |
} | |
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key { | |
_attributes[key] = obj; | |
} | |
@end | |
Banana *banana = [[Banana alloc] init]; | |
banana[@"colour"] = @"Yellow"; | |
banana[@"colour"]; // returns "Yellow" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment