一、先創(chuàng)建一個Dog類,重寫dealloc方法,看看Dog類的實例什么時候釋放。工程改為MRC 工程: 發(fā)現實例并沒有釋放,在MRC 下需要添加...
之前研究Autorelease ,看了sunyxx 那篇博客,當你驗證代碼的時候,會發(fā)現和博客不一樣,原因就在于Tagged Pointer技術...
Class 內部中有個方法緩存 cache_t,用散列表來緩存調用過的方法,可以提高訪問方法的速度。 一、cache_t結構 1.struct ...
比較簡單,只是記錄一下知識點。 一、 Class1.網上扣了一張圖片: Class 的一個結構。關于為什么&FAST_DATA_MASK是一種計...
和之前一樣,也是從源碼中找到答案。我們都知道,實例對象的isa指針指向類對象,類對象的isa指針指向元類對象。 1.查找isa_t 刪除了一些其...
記錄一下,分六個方面來探究block,一步步分析。 一.block底層結構寫一個最簡單的block: c++重寫:xcrun -sdk ipho...
記錄于此! 1.代碼層面驗證2.閱讀源碼 一、代碼 推導:1.只導入頭文件,不會調用+initialize2.第一次發(fā)消息時候調用+initia...
這次其實是通過閱讀源碼的方式,觀察iOS是如何調用的load 方法。 下載源碼,找到load 相關的函數。如何下載源碼,翻看我之前的幾篇博客。 ...
細致的看了下Category的東西,記錄一下。 Category用途:1.進行類擴展2.hook一個方法3.重寫已有類中的一個方法 跟著代碼走不...