2011-07-19 132 views
0

我想發送一個NSNotification到一個特定的對象(自己),而沒有其他對象看到/響應它。是否可以限制NSNotification的目標?

這是可能的,而無需編輯其他對象?

+0

是否有理由不能爲此特定通知使用唯一的通知名稱? (然後讓這個對象成爲唯一觀察它的對象) –

+0

有。進入它是毫無意義的,但本質上類是子類,並且子類可以使用相同的標準通知名稱從其他對象獲得多個通知。否則,每個子類都必須對標準通知作出響應,並且每個超類發出的每個自己的唯一通知(超類必須以某種方式知道 - 編程不佳)。我希望超類發送給它本身(其中一個實例化的子類)通知沒有其他人迴應。 – David

+0

我明白了。有時候給定的子類有多個實例? (不知道我有答案,只是記錄其他讀者的限制) –

回答

0

那麼,如果你真的必須使用相同的通知名稱,一個想法是將自指針放入userInfo。然後在觀察者方面,如果你沒有看到一個自我指針,那麼你就認爲這是一個通用的通知,並非特定於任何特定的觀察者。

如果你看到一個自我指針,你比較它自己決定是否處理它。我不確定它是否滿足「無編輯」的約束,但它至少滿足超類代碼不需要知道所有可能的子類的要求。

+0

我已經考慮過了,但它需要編輯所有的子類並記住檢查目標指針。不是最佳的。 – David

相關問題