2012-06-08 40 views

回答

1

一對夫婦的方式考慮將... 觀察的背景下,看是否有對象發生了變化,使用一些運營商的keyPath鑽入細節......這種方法可能是容易出錯和繁瑣...

的更好的方法是做一個特殊的通知,併發送該通知相應的信息...然後觀察者只觀察到通知,而不是志願的所有鍵。

也許是這樣的:

static NSString * kClassADidChangeKey = @"kClassADidChangeKey"; 
static NSString * kClassAKeyKey = @"kClassAKeyKey"; 
@interface ClassA : NSManagedObject 

@property (nonatomic,copy) NSString * keyOfInterest; 

@end 

@implementation ClassA 

@dynamic keyOfInterest; 

-(void)setKeyOfInterest:(NSString*)theValue 
{ 
    [self willChangeValueForKey:@"keyOfInterest"]; 

    NSMutableDictionary * userInfo = [NSMutableDictionary dictionary]; 
    [userInfo setValue:key forKey:kClassAKeyKey]; 
    [[NSNotificationCenter defaultCenter] postNotificationName:kClassADidChangeKey object:self userInfo:userInfo]; 
    [self setPrimitiveValue:theValue forKey:@"keyOfInterest"]; 
    [self didChangeValueForKey:@"keyOfInterest"]; 
} 

@end 
+0

你能否更詳細的通知的方法呢?我應該爲感興趣的實體添加一個觀察者嗎? – aneuryzm

+0

這取決於你的條件,你可以檢查所有這些,看看你是否感興趣...編程時間和性能之間存在權衡......就像所有事情一樣。 –

+0

但我的意思是,特別通知應該是什麼? – aneuryzm

相關問題