2013-12-18 4 views
1

У меня есть список объектов в приложении iOS, которые наблюдают некоторые изменения с помощью NSNotificationCenter.NSNotificationCenter изменение наблюдателей заказ

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onSomeChanges) 
                name:@"SomeConstantNotificatioName" object:nil]; 

Так что, когда уведомление опубликовано, NSNotificationCenter называет onSomeChanges методы в том же порядке, как называли addObserver методы.

Вопрос Есть ли способ изменить этот порядок?

Мне нужна возможность вызова некоторого добавленного метода наблюдателя, который вставляет необходимый наблюдатель в качестве первого элемента списка наблюдателей. Поэтому независимо от того, в каком порядке добавлены наблюдатели, какой-то объект сначала получит уведомление.

Спасибо

+0

Возможная дубликация http://stackoverflow.com/questions/12957590/nsnotification-order-of-observer-notifications –

ответ

1

Вы не можете изменить порядок наблюдателей, даже если добавить их в порядке, вы хотите, нет никакой гарантии, что центр уведомлений называют их в правильном порядке. Я предлагаю вам добавить одного наблюдателя, который должен быть вызван первым, а затем отправить другое уведомление другим пользователям. Это будет сложно отладить позже, но вы будете уверены в порядке в этом случае.

+0

Как я протестировал NSNotificationCenter поддерживает порядок добавленных наблюдателей –

+2

Да, он держится. В текущей реализации, но это может быть изменено с тех пор, – Ievgenii

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