2013-12-18 150 views
1

我有iOS應用程序中的對象列表,它使用NSNotificationCenter觀察一些更改。NSNotificationCenter更改觀察者訂單

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

所以當通知發佈,NSNotificationCenter調用以相同的順序onSomeChanges方法爲addObserver調用方法。

問題是有沒有辦法改變這個順序?

我需要的是能夠調用一些添加觀察者方法,它將插入需要的觀察者作爲觀察者列表的第一個元素。因此,無論觀察者添加的順序如何,某個對象都會首先收到通知。

謝謝

+0

可能dupliacte http://stackoverflow.com/questions/12957590/nsnotification-order-of-observer-notifications –

回答

1

您不能更改觀察員的順序,即使你加他們爲了你想,我們無法保證該通知中心呼喚他們在正確的順序。我建議你添加一個需要首先調用的觀察者,然後爲其他人發佈另一個通知。這將很難以後調試,但你肯定會在這種情況下訂購

+0

正如我測試NSNotificationCenter保持添加觀察者的順序 –

+2

是的,它保持。在當前的實施中,但由於沒有記錄,這可能會改變 – Ievgenii

相關問題