Справжнє питання, чому ви не знаєте, спостерігаєте ви це чи ні.
Якщо ви робите це в класі спостережуваного об'єкта, зупиніться. Незалежно від спостереження він очікує, що він продовжить його спостерігати. Якщо ви відключите спостереження від спостерігача без його відома, сподівайтеся, що все порушиться; Більш конкретно, сподівайтеся, що стан спостерігача стане невдалим, оскільки він не отримує оновлення від раніше спостережуваного об'єкта.
Якщо ви робите це в класі спостережуваного об'єкта, просто запам'ятайте, які об’єкти ви спостерігаєте (або, якщо ви коли-небудь спостерігали один об'єкт, чи ви його спостерігаєте). Це припущення, що спостереження є динамічним та між двома інакше не пов'язаними об'єктами; якщо спостерігачеві належить спостережуване, просто додайте спостерігача після створення або збереження спостережуваного та видаліть спостерігача перед тим, як звільнити спостережуваного.
Додавання та видалення об'єкта як спостерігача зазвичай має відбуватися в класі спостерігача, а ніколи в спостережуваному об'єкті.
addObserver:
вviewWillAppear:
і , відповідно ,removeObserver:
вviewWillDisappear:
, дзвінки були зістиковано. Мені потрібно швидко виправити, тому я збираюся реалізувати рішення про випробування та залишити коментар, щоб далі розслідувати причину.