NSManagedObjectMutableSet.m
1 #import "NSManagedObjectMutableSet.h" 2 #import <CoreData/NSManagedObject.h> 3 #import <CoreData/NSManagedObjectContext.h> 4 #import <Foundation/NSRaise.h> 5 6 @implementation NSManagedObjectMutableSet 7 8 - initWithManagedObject: (NSManagedObject *) object key: (NSString *) key { 9 _object = [object retain]; 10 _key = [key copy]; 11 return self; 12 } 13 14 - (void) dealloc { 15 [_object release]; 16 [_key release]; 17 [super dealloc]; 18 } 19 20 - (NSUInteger) count { 21 return [[_object valueForKey: _key] count]; 22 } 23 24 - member: object { 25 return [[_object valueForKey: _key] member: [object objectID]]; 26 } 27 28 - (NSEnumerator *) objectEnumerator { 29 NSUnimplementedMethod(); 30 return nil; 31 } 32 33 - (void) addObject: object { 34 NSMutableSet *set = [NSMutableSet setWithSet: [_object valueForKey: _key]]; 35 36 [set addObject: object]; 37 38 [_object setValue: set forKey: _key]; 39 } 40 41 - (void) removeObject: object { 42 NSMutableSet *set = [NSMutableSet setWithSet: [_object valueForKey: _key]]; 43 44 [set removeObject: object]; 45 46 [_object setValue: set forKey: _key]; 47 } 48 49 @end