最近發(fā)現(xiàn)在iOS 13的系統(tǒng)下使用kvc獲取一些控件的私有成員出現(xiàn)崩潰迈窟,發(fā)現(xiàn)是蘋果在對(duì)應(yīng)的控件類中重寫了kvc相關(guān)方法久又,判斷key名來(lái)禁止一些成...
FBRetainCycleDetector中獲取block強(qiáng)引用的對(duì)象實(shí)現(xiàn)方式 在我的上一篇文章中介紹了如何獲取block捕獲的對(duì)象,思路是通過(guò)...
這篇文章是參考了歐陽(yáng)大哥的實(shí)現(xiàn)并在此基礎(chǔ)上進(jìn)行了一些擴(kuò)展欲低,原文鏈接在此一種查看Block中引用的所有外部對(duì)象的實(shí)現(xiàn)方法。想要詳細(xì)了解如何解析bl...
最近寫了一個(gè)小工具庫(kù)愕乎,分類中添加的屬性自動(dòng)生成setter和getter并綁定ivar呻此。平時(shí)我們要想實(shí)現(xiàn)給分類添加屬性宿百,需要用到runtime的...
前言 fishhook是fackbook開源的一個(gè)用來(lái)hook c函數(shù)的庫(kù)。在iOS開發(fā)中我們一般都是對(duì)OC方法進(jìn)行hook洪添,這是因?yàn)镺C的動(dòng)態(tài)...
RSSwizzle源碼解析 前言 RSSwizzle是一個(gè)輕量的線程安全的方法hook的庫(kù)垦页,平常我們僅僅通過(guò)runtime的method_exc...
簡(jiǎn)介 Aspects是一個(gè)輕量的面向切面編程(AOP)的第三方庫(kù),面向切面編程簡(jiǎn)單來(lái)說(shuō),就是在原來(lái)的業(yè)務(wù)流程之中的某個(gè)位置插入額外的功能干奢,不影響...
前言 我們知道一個(gè)對(duì)象即將釋放的時(shí)候會(huì)進(jìn)入到dealloc方法中痊焊,通常也是通過(guò)dealloc是否回調(diào)來(lái)檢測(cè)循環(huán)引用。我一直對(duì)dealloc內(nèi)部做...
一忿峻、定義一個(gè)Block 在上面的代碼中定義了一個(gè)無(wú)返回值無(wú)參數(shù)的block薄啥,并定義了一個(gè)全局變量globalStr,兩個(gè)局部變量str逛尚、a以及一...