1. 程式人生 > >iOS delegate、NSNotification效率比較

iOS delegate、NSNotification效率比較

//聯絡人:石虎  QQ: 1224614774 暱稱:嗡嘛呢叭咪哄

一、delegate的效率肯定比NSNotification.

       delegate方法比notification更加直接,最典型的特徵是,delegate方法往往需要關注返回值,也就是delegate方法的結果。

      比如-windowShouldClose: 需要關心返回的是yes還是no。所以delegate方法往往包含 should這個很傳神的詞。也就是好比你做我的delegate,我會問你我想關閉視窗你願意嗎?你需要給我一個答案,我根據你的答案來決定如何做下一步。相反的,notification

最大的特色就是不關心接受者的態度,我只管把通告放出來,你接受不接受就是你的事情,同時我也不關心結果。

      所以notification往往用did這個詞彙,比如NSWindowDidResizeNotification,那麼NSWindow物件放出這個notification後就什麼都不管了也不會等待接受者的反應。

KVONSNotification的區別:

1)delegate一樣,KVONSNotification的作用也是類與類之間的通訊,與delegate不同的是:這兩個都是負責發出通知,剩下的事情就不管了,所以沒有返回值;

2delegate只是一對一,而這兩個可以一對多。這兩者也有各自的特點。

謝謝!!!