步驟簡化工具 MJAppTools 編譯放在手機(jī)目錄,usr —> bin中 MJAppTools 如果沒有權(quán)限 chmod +x /usr/...
投稿
步驟簡化工具 MJAppTools 編譯放在手機(jī)目錄,usr —> bin中 MJAppTools 如果沒有權(quán)限 chmod +x /usr/...
iOS中有2套API來訪問和使用RunLoop Foundation:NSRunLoop CoreFoundation:CFRunLoopRef...
Runloop應(yīng)用: Timer失效問題; 線程?;? Runloop的運(yùn)行邏輯: 入口函數(shù) 通知Observers:進(jìn)入Loop; 通知Obs...
傳送門: Runtime的幾個(gè)常規(guī)應(yīng)用 類相關(guān): 動態(tài)創(chuàng)建一個(gè)類(參數(shù):父類,類名,額外的內(nèi)存空間) Class objc_allocateCl...
在OpenGL中,GPU有2種渲染方式 On-Screen Rendering:當(dāng)前屏幕渲染,在當(dāng)前用于顯示的屏幕緩沖區(qū)進(jìn)行渲染操作 Off-S...
objc_msgSend()實(shí)現(xiàn) 3. 消息轉(zhuǎn)發(fā):__forwarding__ 這個(gè)階段代碼沒有開源,這里有一份國外整理的偽代碼(提取碼: du...
method_t method_t是對方法\函數(shù)的封裝 斷點(diǎn)查看方法 仿源碼自定義ClassInfo.h,從源碼中抽出Class結(jié)構(gòu) 斷點(diǎn)查看:...
Class內(nèi)部結(jié)構(gòu)中有個(gè)方法緩存(cache_t),用散列表(哈希表)來緩存曾經(jīng)調(diào)用過的方法,可以提高方法的查找速度。 緩存查找:bucket_...
場景: 不可以在block內(nèi)部直接修改age的原因: 將以上代碼轉(zhuǎn)為C++(xcrun -sdk iphoneos clang -arch ar...
當(dāng)block在棧上時(shí),并不會對__block變量產(chǎn)生強(qiáng)引用; 當(dāng)block被copy到堆時(shí):1.會調(diào)用block內(nèi)部的copy函數(shù);2.copy...