2011-04-06 21 views
2

爲什麼這些方法不應該在頭文件中呢?這是由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 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 

回答

0

他們通過核心數據框架在運行時生成