Revision: 16667
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 11, 2009 21:54 by phifty
Initial Code
// // KVCEnabledObject.h // #import <Foundation/Foundation.h> @interface KVCEnabledObject : NSObject { NSMutableDictionary *_metadata; } @end @implementation KVCEnabledObject - (id)init { if (self = [super init]) { _metadata = [[NSMutableDictionary alloc] initWithCapacity:0]; } } - (void)setValue:(id)value forUndefinedKey:(NSString *)key { if (nil != value) { [_metadata setValue:value forKey:key]; } } - (void)setNilValueForKey:(NSString *)theKey { [_metadata setValue:[NSNull null] forKey:key]; } - (id)valueForUndefinedKey:(NSString *)key { id ret = [_metadata valueForKey:key]; return ([ret isKindOfClass:[NSNull class]]) ? nil : ret; } - (void)dealloc { [_metadata removeAllObjects]; [_metadata release]; [super dealloc]; } @end
Initial URL
Initial Description
This is a wrapper for objects that use Key-Value Coding (KVC) in Objective-C. An appropriate use would be for business objects whose state changes throughout the life of the application session.
Initial Title
Lite KVC Wrapper
Initial Tags
Initial Language
Objective C