2012-03-05 1 views
6

В AppDelegate-х didFinishLaunchingWithOptions:Если добавить наблюдателя для уведомления в AppDelegate, мне нужно его удалить?

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(contextChanged:) 
             name:NSManagedObjectContextDidSaveNotification 
             object:nil]; 

Это так я могу объединить изменения в данные из других потоков.

Вопрос: Нужно ли мне удалять этот слушатель в applicationWillResignActive или applicationWillTerminate? Кажется, нет смысла. Наверное, я спрашиваю, нормально ли иметь таких слушателей в основном цикле, которые никогда не удаляются.

ответ

7

Вы никогда не сможете удалить его, но если ваше приложение получит уведомление (оно не произойдет в этом случае), в то время как оно находится в фоновом режиме, уведомление будет поставлено в очередь и доставлено в приложение, когда оно появится снова (если приложение не убито c).

Если вы не хотите уведомлений, которые случаются, когда ваше приложение находится в фоновом режиме, которое будет доставлено после его появления, вы можете удалить слушателя в методах, которые вы указали.

В этом случае, на самом деле, это не имеет значения.

 Смежные вопросы

  • Нет связанных вопросов^_^