Jak usunąć obserwatora z obiektu pod numerem ARC? Czy po prostu dodajemy obserwatora i zapominamy o jego usunięciu? Jeśli nie będziemy już zarządzać pamięcią ręcznie, skąd zrezygnujemy z obserwacji?KVO i ARC jak usunąćObserwer
Na przykład na kontrolerze widoku:
[self.view addObserver:self
forKeyPath:@"self.frame"
options:NSKeyValueObservingOptionNew
context:nil];
Wcześniej nazwałbym removeObserver:
w dealloc
metody kontrolera widoku za.
pamiętać, że to bardzo zły pomysł, aby KVO .frame. Jak napisano w innym miejscu przez inżynierów Apple na StackOverflow, właściwość ramki UIKit nie jest zgodna z KVO. Kiedy działa, to tylko przez przypadek. – steipete
Czy twoja keyPath nie powinna być ramką '@ 'zamiast' @' self.frame? – Besi