首先要說說什么時候使用weakSelf和strongSelf。 下面引用一篇博客《到底什么時候才需要在ObjC的Block中使用weakSelf/strongSelf》的內容: Objective C 的 Block 是一個很實用的語法,特別是與GCD結合使用,可以很方便地實現並發、異步任務 ...
為了解決 Block 造成的循環引用,iOS 開發過程中常常使用 weakify 與 strongify 來解決這個問題。下面就來看下 weakify 與 strongify 的實現原理。 准備知識 宏參數 Arguments 的擴展 可變參數宏 宏定義中的重復副作用 宏定義里面為什么要加括號 Block對變量的引用 weakify 和 strongify 的實現原理就是宏展開,閱讀上面的准備知識 ...
2022-03-20 16:03 0 710 推薦指數:
首先要說說什么時候使用weakSelf和strongSelf。 下面引用一篇博客《到底什么時候才需要在ObjC的Block中使用weakSelf/strongSelf》的內容: Objective C 的 Block 是一個很實用的語法,特別是與GCD結合使用,可以很方便地實現並發、異步任務 ...
項目中若同時集成 YYCategories 和 ReactiveCocoa,使用@weakify(self)和@strongify(self);將會報Ambiguous expansion of macro weakify和Ambiguous expansion of macro ...
概述: 最近在開發中遇到了一個剛好可以用AOP實現的例子,就順便研究了AOP的實現原理,把學習到的東西進行一個總結。文章中用到的編程語言為kotlin,需要的可以在IDEA中直接轉為java。 這篇文章將會按照如下目錄展開: AOP簡介 代碼中實現舉例 AOP實現 ...
Vue Router 路由實現原理 一、概念 通過改變 URL,在不重新請求頁面的情況下,更新頁面視圖。 二、實現方式 更新視圖但不重新請求頁面,是前端路由原理的核心之一,目前在瀏覽器環境中這一功能的實現主要有2種方式 ...
同步方法和同步代碼塊的實現原理。 我們把前 3 篇有涉及到的 synchronized 方法全寫在一起,如 ...
https://zhuanlan.zhihu.com/p/28501879 https://zhuanlan.zhihu.com/p/28587782 ①HashMap的工作原理 HashMap是基於哈希表的Map接口的非同步實現,Java最基本數據結構就是兩種,一種是數組,一種是引用。所有 ...
一、MVC模式 MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構模式。 控制器(Controller)。負責轉發請求,對請求進行處理。 視圖(View)。界面設計人員進行圖形界面的設計。 模型(Model)。程序員編寫程序應有的功能(實現算法等),數據庫 ...
setTimeout 實現原理, 機制 JS 執行機制說起 瀏覽器(或者說 JS 引擎)執行 JS 的機制是基於事件循環。 由於 JS 是單線程,所以同一時間只能執行一個任務,其他任務就得排隊,后續任務必須等到前一個任務結束才能開始執行。 為了避免因為某些長時間任務造成的無意義 ...