Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CHANGE] Remove machine.m implementations of to-many relationship set…
…ters. Mike Abdullah pointed out in http://www.mac-developer-network.com/columns/coredata/coredatajan10/ that Core Data on 10.5 and iPhone dynamically supply to-many relationship setters, so there's no reason to carry our own implementation. That's code that looks like this: - (void)addChildren:(NSSet*)value_ { [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value_]; [[self primitiveValueForKey:@"children"] unionSet:value_]; [self didChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value_]; } -(void)removeChildren:(NSSet*)value_ { [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueMinusSetMutation usingObjects:value_]; [[self primitiveValueForKey:@"children"] minusSet:value_]; [self didChangeValueForKey:@"children" withSetMutation:NSKeyValueMinusSetMutation usingObjects:value_]; } - (void)addChildrenObject:(ChildMO*)value_ { NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value_ count:1]; [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects]; [[self primitiveValueForKey:@"children"] addObject:value_]; [self didChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects]; [changedObjects release]; } - (void)removeChildrenObject:(ChildMO*)value_ { NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value_ count:1]; [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects]; [[self primitiveValueForKey:@"children"] removeObject:value_]; [self didChangeValueForKey:@"children" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects]; [changedObjects release]; } I've deleted the machine.m code and moved the method declarations into a category named $_CLASS_NAME(CoreDataGeneratedAccessors) in machine.h to avoid "method not implemented" build warnings. It probably would be nice to upgrade "contributed templates/rentzsch non-dynamic" to do the same (placing the machine.m code in if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 endif blocks) but I'm not going to for this commit.
- Loading branch information