Я обнаружил, что при использовании NSNotificationCenter в ARC даже вы забываете удалить наблюдателя из центра по умолчанию, а наблюдатель освобожден, после чего вы публикуете уведомление, наблюдаемое наблюдателем, больше нет сбоев !!Как NSNotificationCenter обнаруживает освобожденного наблюдателя в ARC?
перед тем Xcode 4, нет ARC, мы должны удалить наблюдатель от центра уведомлений по умолчанию в функции dealloc, как это:
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
в противном случае, когда переплетено уведомление отправлено, оно будет Тригером краха!
так, вопрос в том, как NSNotificationCenter обнаруживает освобожденного наблюдателя в ARC?
моя ошибка, я не нашел аварии, потому что есть другой сохранить наблюдателя. – Lings
Это свидетельствует о том, что NSNotificationCenter не сохраняет наблюдателей. См. Http://stackoverflow.com/questions/3964041/nsnotificationcenter-why-bother-calling-removeobserver – bluefloyd8