我們都知道茫蛹,weak的主要作用是為了防止循環(huán)引用操刀,而產(chǎn)生循環(huán)引用的根本原因則在于ARC下的引用計(jì)數(shù)錯(cuò)誤問題,即兩個(gè)對象或者多個(gè)對象相互持有婴洼,會造...
objc-runtime 開源地址 消息轉(zhuǎn)發(fā) 在開啟消息轉(zhuǎn)發(fā)之前骨坑,先來看看定義在NSObject.h中的這五個(gè)方法: 我們可以把runtime想...
Block是什么? 在oc中它是帶有^符號的匿名函數(shù)窃蹋,遵循BN范式: ^ 返回值類型 參數(shù)列表 表達(dá)式 (參數(shù)和返回值為空的時(shí)候可以省略)卡啰。 而...
AutoreleasePool 是一個(gè)抽象概念,并沒有實(shí)際結(jié)構(gòu)警没,真實(shí)的結(jié)構(gòu)是一個(gè)雙向鏈表『AutoreleasePoolPage』匈辱,由C++實(shí)現(xiàn)...
用例分析 在使用UITextField的過程中,不免會有限制字符個(gè)數(shù)杀迹,字符輸入規(guī)則的需求亡脸。一般情況下,會有如下兩種方法: 直接設(shè)置代理树酪,實(shí)現(xiàn)代理...
objc-runtime 開源地址 由于OC是屬于C的超集再加上runtime的存在浅碾,我們寫的每一個(gè)OC方法在編譯階段被轉(zhuǎn)成id objc_ms...
objc-runtime 開源地址 在Objective-C中runtime主要充當(dāng)了一個(gè)消息傳遞者,但其實(shí)它還有很多更加強(qiáng)大的特性续语。 工程打開...
前言 iOS國際化是個(gè)很頭疼的問題垂谢,尤其是項(xiàng)目更新了N個(gè)版本突然要加入國際化需求的時(shí)候。(大部分都是這樣吧...) (吐槽結(jié)束)那么開始吧 首先...
typealias 如果挑出swift中好用的功能,我認(rèn)為typealias 應(yīng)該是首當(dāng)其沖的了typealias:用來為已存在的類型重新定義名...