私は約4つのクラスを持っており、A、B、C、およびDを想定しています。今、私のクラスB、C、DはクラスAの値を観察し、値が変化したときに通知を受ける必要があります。クラス B の値を確認しましたが、他の 2 つのクラス C と D では通知を受け取ることができません。よろしくお願いします。
- (void)viewDidLoad
{
[super viewDidLoad];
newClassAToBeObserved=[[ClassATobeObserved alloc]init];
[newClassAToBeObserved addObserver:self forKeyPath:@"StatusToken" options:NSKeyValueObservingOptionNew context:NULL];
ClassB*classB=[[ClassB alloc]init];
[classB func];
ClassC*classc=[[ClassC alloc]init];
[classc func];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"StatusToken"])
{
NSLog(@"changed value is : %@",[object valueForKeyPath:keyPath]);
}
}
-(IBAction)ClickIt
{
[newClassAToBeObserved setStatusToken:@"TokenExpired"];
NSLog(@"Value-->%@",newClassAToBeObserved.StatusToken);
}