관찰자를 객체에 추가하면 다음 NSMutableArray
과 같이 추가 할 수 있습니다 .
- (void)addObservedObject:(id)object {
if (![_observedObjects containsObject:object]) {
[_observedObjects addObject:object];
}
}
객체를 관찰하지 않으려면 다음과 같이 할 수 있습니다.
for (id object in _observedObjects) {
if ([object isKindOfClass:[MyClass class]]) {
MyClass *myObject = (MyClass *)object;
[self unobserveMethod:myObject];
}
}
[_observedObjects removeAllObjects];
단일 객체를 관찰 할 수없는 경우 _observedObjects
배열 에서 객체를 제거하십시오 .
- (void)removeObservedObject:(id)object {
if ([_observedObjects containsObject:object]) {
[_observedObjects removeObject:object];
}
}
addObserver:
에viewWillAppear:
및 대응removeObserver:
에viewWillDisappear:
, 통화가 제대로 짝을했다. try-catch 솔루션을 구현하고 원인을 자세히 조사하기 위해 의견을 남길 수 있도록 빠른 수정을해야합니다.