核心数据方法不在头文件中

问题描述:

为什么这些方法不应该在头文件中呢?这是由xcode btw生成的。

Why shouldn't these methods be in the header file also? This was genereated by xcode btw.

界面

@class Environment, Location;

@interface Log : NSManagedObject {
@private
}
@property (nonatomic, retain) NSDate * date;
@property (nonatomic, retain) NSString * time;
@property (nonatomic, retain) NSNumber * distance;
@property (nonatomic, retain) NSString * comment;
@property (nonatomic, retain) NSSet* locations;
@property (nonatomic, retain) NSSet* environments;

@end

实施 >

Implementation

@implementation Log
@dynamic date;
@dynamic time;
@dynamic distance;
@dynamic comment;
@dynamic locations;
@dynamic environments;

- (void)addLocationsObject:(Location *)value {    
    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];
    [self willChangeValueForKey:@"locations" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
    [[self primitiveValueForKey:@"locations"] addObject:value];
    [self didChangeValueForKey:@"locations" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
    [changedObjects release];
}

- (void)removeLocationsObject:(Location *)value {
    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];
    [self willChangeValueForKey:@"locations" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects];
    [[self primitiveValueForKey:@"locations"] removeObject:value];
    [self didChangeValueForKey:@"locations" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects];
    [changedObjects release];
}

- (void)addLocations:(NSSet *)value {    
    [self willChangeValueForKey:@"locations" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value];
    [[self primitiveValueForKey:@"locations"] unionSet:value];
    [self didChangeValueForKey:@"locations" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value];
}

- (void)removeLocations:(NSSet *)value {
    [self willChangeValueForKey:@"locations" withSetMutation:NSKeyValueMinusSetMutation usingObjects:value];
    [[self primitiveValueForKey:@"locations"] minusSet:value];
    [self didChangeValueForKey:@"locations" withSetMutation:NSKeyValueMinusSetMutation usingObjects:value];
}


- (void)addEnvironmentsObject:(Environment *)value {    
    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];
    [self willChangeValueForKey:@"environments" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
    [[self primitiveValueForKey:@"environments"] addObject:value];
    [self didChangeValueForKey:@"environments" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects];
    [changedObjects release];
}

- (void)removeEnvironmentsObject:(Environment *)value {
    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];
    [self willChangeValueForKey:@"environments" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects];
    [[self primitiveValueForKey:@"environments"] removeObject:value];
    [self didChangeValueForKey:@"environments" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects];
    [changedObjects release];
}

- (void)addEnvironments:(NSSet *)value {    
    [self willChangeValueForKey:@"environments" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value];
    [[self primitiveValueForKey:@"environments"] unionSet:value];
    [self didChangeValueForKey:@"environments" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value];
}

- (void)removeEnvironments:(NSSet *)value {
    [self willChangeValueForKey:@"environments" withSetMutation:NSKeyValueMinusSetMutation usingObjects:value];
    [[self primitiveValueForKey:@"environments"] minusSet:value];
    [self didChangeValueForKey:@"environments" withSetMutation:NSKeyValueMinusSetMutation usingObjects:value];
}


@end