程序靜態(tài)分析(Program Static Analysis)是指在不運行代碼的方式下,通過詞法分析、語法分析、控制流、數(shù)據(jù)流分析等技術(shù)對程序代碼進行掃描,驗證代碼是否滿足規(guī)...
程序靜態(tài)分析(Program Static Analysis)是指在不運行代碼的方式下,通過詞法分析、語法分析、控制流、數(shù)據(jù)流分析等技術(shù)對程序代碼進行掃描,驗證代碼是否滿足規(guī)...
OC 常用的約束框架是Masonry,而swift常用的是SnapKit,不過今天就只看看Masonry。 先看個例子: 源碼 首先來看mas_makeConstraints...
最近項目需要添加刷新交互,想著參考一下別人的源碼再封裝,然后就找了MJRefresh,然后記錄下。 原理: 在UIScrollView可滾動區(qū)域的頂部上方或底部下方加一個UI...
最近項目需要添加輪播圖,想著參考一下別人的源碼再封裝,然后就找了SDCycleScrollView,然后記錄下。 SDCycleScrollView需要展示圖片所以依賴了SD...
最近項目需要添加提示控件(HUD),想著參考一下別人的源碼再封裝,然后就找了MBProgressHUD,然后記錄下。 框架使用起來很簡單: 源碼 MBProgressHUD就...
概念 Mach-O是一種文件格式,是mac上可執(zhí)行文件的格式。編寫的C、C++、swift、OC,最終編譯鏈接生成Mach-O可執(zhí)行文件。鏈接的共用庫分為靜態(tài)庫和動態(tài)庫:靜態(tài)...
接著上篇文章(系統(tǒng)底層源碼分析(18)——objc_msgSend[http://www.itdecent.cn/p/e8aec5103a97])繼續(xù)說: 報錯 之前說到調(diào)...
當(dāng)我們調(diào)用方法時,進入?yún)R編模式可以發(fā)現(xiàn),底層其實會調(diào)用objc_msgSend進行快速查找,這個方法是用匯編寫的,詳請我們就不看了,就主要看流程:1.對接受者進行判空處理:檢...
上篇文章探究了類的結(jié)構(gòu)[http://www.itdecent.cn/p/19871b14f121],其中提到cache,今天就來探究一下。 結(jié)構(gòu) 作用 從結(jié)構(gòu)可以看出ca...
類的本質(zhì)其實也是結(jié)構(gòu)體: objc_class繼承了objc_object,所以類其實也是一個對象。類在內(nèi)存里只存在一份, 繼承關(guān)系只存在于類之間, 而不存在于對象之間。 了...
首先簡單創(chuàng)建項目,調(diào)用alloc并斷點: 然后進入?yún)R編模式運行(Debug -> Debug Workflow -> Always Show Disassembly): 我們...
聯(lián)合體 前面提到isa關(guān)聯(lián)了類,那么isa是什么?isa的本質(zhì)是聯(lián)合體: 關(guān)聯(lián) 它是怎么關(guān)聯(lián)類的,比如Person繼承NSObject,Person就需要關(guān)聯(lián)到NSObjec...
我們寫一段代碼,然后編譯成cpp文件: 將.m文件由 OC 轉(zhuǎn) C++ 源碼方法如下:打開終端,執(zhí)行 cd 文件所在目錄 命令,然后執(zhí)行 clang -rewrite...
上上篇:系統(tǒng)底層源碼分析(11)——alloc、init、new[http://www.itdecent.cn/p/cf28dd814f79]上一篇:系統(tǒng)底層源碼分析(12...
上一篇:系統(tǒng)底層源碼分析(11)——alloc、init、new[http://www.itdecent.cn/p/cf28dd814f79]下一篇:系統(tǒng)底層源碼分析(13...
我們知道alloc、init、new就是開辟內(nèi)存空間初始化對象,今天就來探討一下它們分別在底層干了什么。 一. alloc 首先簡單創(chuàng)建項目,調(diào)用alloc并斷點: 然后進入...
一、事件分類事件是發(fā)送到應(yīng)用程序用于通知用戶操作的對象。 在iOS中,事件可以采取多種形式:多點觸摸事件,運動事件和用于控制多媒體的事件。 這最后一種類型的事件被稱為遙控事件...
在了解Cabbage之前可以查看github上的文檔[https://github.com/VideoFlint/Cabbage/wiki/%E4%B8%AD%E6%96%8...
在上篇文章Graver繪制[http://www.itdecent.cn/p/6f0a684b8895]中,我們知道了Graver把復(fù)雜的界面變成了圖片,那局部怎么交互呢?...
之前了解了CALayer和YYAsyncLayer,在這基礎(chǔ)上來了解一下Graver。簡單來說就是異步繪制圖片代替復(fù)雜的界面。 Graver 是什么Graver 是一款高效的...