Цель C: Объект Разделен, пока наблюдатели с ключевыми значениями все еще зарегистрированы с ним
Я ударяю ошибку ниже, после того, как добавил две дополнительные поля в мою основную модель данных.
CarPark_CarPark_ was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object.
Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger.
Here the current observation info:
<NSKeyValueObservationInfo 0x1b6510> (
<NSKeyValueObservance 0x19b210: Observer: 0x1a8cf0, Key path: coordinate,
Options: <New: NO, Old: NO, Prior: YES> Context: 0x0, Property: 0x1b7e00>
)
Я немного потерял, что делать дальше. Любые рекомендации по этому поводу будут очень благодарны! Пожалуйста, дайте мне знать, какая другая информация требуется.
Ответы
Ответ 1
Чтобы установить точку останова, откройте вкладку точек останова в Xcode 4 (окно точек останова в Xcode 3) и добавьте новую символическую точку останова для символа "NSKVODeallocateBreak"
Используйте консоль отладчика для печати наблюдателя по адресу, указанному в информации наблюдения
Наблюдатель: 0x19af20
po 0x19af20
Это должно дать некоторую ценную информацию о наблюдателе.
Переопределить addObserver: forKeyPath: options: context: в вашем пользовательском классе CarPark и установить точку останова, чтобы увидеть точное местоположение установленного наблюдения.
Ответ 2
Вероятно, это связано с тем, что наблюдатель освобождается до наблюдаемых объектов. Вам нужно будет реализовать метод - (void) dealloc, чтобы удалить все наблюдаемые объекты в наблюдателе.