#iphone #ios #ipad #crash #nsnotificationcenter
#iPhone #iOS #iPad #сбой #nsnotificationcenter
Вопрос:
Наше приложение отлично работает на iOS 4.2 и 4.3. Однако в iOS 3.2 оно вылетает на этой строке
[[NSNotificationCenter defaultCenter] postNotificationName:@"notificnname" object:nil];
Функция postNotificationName доступна с iOS 2.0.
Я создаю свое приложение с iOS 4.3, а целевой sdk установлен как 3.2.
Есть идеи, что может быть причиной сбоя.
Спасибо.
Комментарии:
1. Что говорит консоль? Также проверьте, какие объекты наблюдают это событие, вероятно, проблема в нем.
Ответ №1:
согласен с комментарием pt2ph8 выше.
Скорее всего, какой-то объект зарегистрировался для уведомления, а затем был освобожден без отмены регистрации для уведомления. Таким образом, центр уведомлений отправляет уведомления мертвым объектам.
Убедитесь, что в вашем dealloc (или viewDidUnload для контроллеров просмотра) вы отменяете регистрацию этого объекта во всех уведомлениях.
Комментарии:
1. Верно, NSNotificationCenter не сохраняет наблюдателей, так что, скорее всего, это нераспределенный объект.