Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
@interface Banana : NSObject
- (id)objectForKeyedSubscript:(id)key;
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;
@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;
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