協議代理和block的區別

1. a.delegate運行成本低。block成本很高的.b.block出棧須要將使用的數據從棧內存拷貝到堆內存,固然對象的話就是加計數,使用完或者block置nil後才消除;delegate只是保存了一個對象指針,直接回調,沒有額外消耗。相對C的函數指針,只多作了一個查表動做網絡 2.a:寫法更簡練,不須要寫protocol、函數等等.b,block注重結果的傳輸:好比對於一個事件,只想知道成
相關文章
相關標籤/搜索