代理 可讀性高 大部分可以屬性
block 寫的代碼少 一般作為參數
通知 占用資源
無論是block還是delegate模式本質上都是回調,使用block,其優點是回調的block代碼塊直接就放在了block賦值的地方,使代碼更為緊湊,缺點是block內使用到當前類的實例變量的時候,需要注意循環引用的問題,即需要使用__block(MRC下)或者__weak(ARC下)定義一個弱引用的self出來,block里面使用弱引用的self去操作屬性或調用方法。delegate模式不用像block一樣做特殊處理,但是如果多個對象設置的代理是同一個對象,就需要在delegate方法中判斷當前執行代理的是哪個對象。
