OC-KVO 소개

2598 단어 ocKVO

개술


KVO, 즉 Key-Value Observing은 지정된 객체의 속성이 수정되면 객체가 알림을 받는 메커니즘을 제공합니다.쉽게 말하면 매번 지정된 관찰된 대상의 속성이 수정되면 KVO는 자동으로 해당하는 관찰자에게 통지한다.

둘째, 사용:


1. kVC 키 값, 인코딩 KVO 키 값, 관찰자

    model self.modelA = [[Model alloc] init];

    // Model   KVC, 。 
    [self.modelA setValue:@"xiaonan" forKey:@"name"];
    [self.modelA setValue:[NSNumber numberWithInt:20] forKey:@"num"];
    // , 。 name 
    [self.modelA addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew context:nil];

//KVO 관찰자의 리셋 방법
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if ([keyPath isEqualToString:@"name"]) {
        NSLog(@"%@",[self.modelA valueForKey:@"name"]);
    }
}

예를 들어 나중에 키 값 속성을 변경합니다
-(IBAction)buttonAction:(id)sender
{
    [self.modelA setValue:@"you" forKey:@"name"];

}

관찰자의 리셋 방법을 촉발시킬 수 있다
그리고 이 방법을 다 사용할 때 우리는 이 관찰자를 취소해야 한다.
[self.modelA removeObserver:self forKeyPath:@"name"];

좋은 웹페이지 즐겨찾기