Вы, вероятно, делаете что-то подобное в своем коде:
[addressAnnotation addObserver:self
forKeyPath:kSelectedAnnotationObserverKeyPath
options:NSKeyValueObservingOptionNew
context:@"selectedOrDeselected"];
Это означает, что вы регистрируете наблюдателя, чтобы узнать, когда была выбрана аннотация.
Вы должны удалить наблюдателя, когда аннотация удаляется с карты, например:
[addressAnnotation removeObserver:self forKeyPath:kSelectedAnnotationObserverKeyPath];
Это должно устранить ошибку.Если этого не происходит, и вы хотите отладить его, вам, безусловно, следует установить точку останова на NSKVODeallocateBreak
.Для этого откройте меню Run
, Manage Breakpoints
, Add symbolic breakpoint
, введите NSKVODeallocateBreak
и вот, пожалуйста.
Надеюсь, это поможет!