/ CoreData / NSManagedObjectMutableSet.m
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