OC-KVO 소개
개술
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"];
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 복사(mutable Copy)와 얕은 복사(copy) 설명인용 대상의 계수는 1입니다.copy 속성은 두 대상의 내용이 같고 새로운 대상retain은 1이며 기존 대상의 인용 계수와 상관없이 기존 대상은 변하지 않습니다.copy는 상하문에 대한 대상의 의존을 감소합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.