block和delegate的區別


代理  可讀性高  大部分可以屬性
block   寫的代碼少 一般作為參數
通知   占用資源

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM