在實(shí)際開發(fā)場(chǎng)景中,有時(shí)候我們需要在調(diào)用系統(tǒng)方法,或者某個(gè)類的方法的時(shí)候,增加自己的一些邏輯操作,這時(shí)候可以采用 方法交換 的方式去實(shí)現(xiàn)這個(gè)需求。這種方式也被稱為 黑魔法(Me...
在實(shí)際開發(fā)場(chǎng)景中,有時(shí)候我們需要在調(diào)用系統(tǒng)方法,或者某個(gè)類的方法的時(shí)候,增加自己的一些邏輯操作,這時(shí)候可以采用 方法交換 的方式去實(shí)現(xiàn)這個(gè)需求。這種方式也被稱為 黑魔法(Me...
背景: 在大型項(xiàng)目,企業(yè)級(jí)開發(fā)中多人同時(shí)維護(hù)同一個(gè)類,這樣勢(shì)必會(huì)導(dǎo)致當(dāng)前類隨著項(xiàng)目開展,變得臃腫,iOS中的分類(Category)就很好的解決了這個(gè)問題。 分類(Categ...
一、weak基本用法 weak是弱引用,用weak來修飾、描述所引用對(duì)象的計(jì)數(shù)器并不會(huì)加1,而且weak會(huì)在引用對(duì)象被釋放的時(shí)候自動(dòng)置為nil,這也就避免了野指針訪問壞內(nèi)存而...
Block 基礎(chǔ)篇 Pre1:內(nèi)存知識(shí)補(bǔ)腦 棧區(qū)(stack): 1: 存放的局部變量、先進(jìn)后出、一旦出了作用域就會(huì)被銷毀;函數(shù)跳轉(zhuǎn)地址,現(xiàn)場(chǎng)保護(hù)等;2:程序猿不需要管理?xiàng)^(qū)...
面試題 講講 RunLoop,項(xiàng)目中有用到嗎? RunLoop內(nèi)部實(shí)現(xiàn)邏輯? Runloop和線程的關(guān)系? timer 與 Runloop 的關(guān)系? 程序中添加每3秒響應(yīng)一次...
設(shè)計(jì)模式系列文章 《iOS設(shè)計(jì)模式(1)簡(jiǎn)單工廠模式》《iOS設(shè)計(jì)模式(2)工廠模式》《iOS設(shè)計(jì)模式(3)適配器模式》《iOS設(shè)計(jì)模式(4)抽象工廠模式》《iOS設(shè)計(jì)模式(...
本文Demo傳送門:MethodSwizzlingDemo 摘要:編程,只了解原理不行,必須實(shí)戰(zhàn)才能知道應(yīng)用場(chǎng)景。本系列嘗試闡述runtime相關(guān)理論的同時(shí)介紹一些實(shí)戰(zhàn)場(chǎng)景,...
本文Demo傳送門:AssociatedObjectDemo 摘要:編程,只了解原理不行,必須實(shí)戰(zhàn)才能知道應(yīng)用場(chǎng)景。本系列嘗試闡述runtime相關(guān)理論的同時(shí)介紹一些實(shí)戰(zhàn)場(chǎng)景...