三方庫常見考核問題

AFNetworking

  • 整體架構(gòu)


    image.png
  • 主要關(guān)系圖:


    image.png

AFURLSessionManger

  • 創(chuàng)建和管理NSURLSession冯乘,NSURLSessionTask
  • 實現(xiàn)NSURLSessionDelegate協(xié)議
  • 引入AFSecurityPolicy保證數(shù)據(jù)請求安全
  • 引入AFNetworkingReachabilityManger網(wǎng)絡監(jiān)控

AFNetworking的請求流程
1.請求GET方法(4個參數(shù)家乘,url,參數(shù),成功,失敗的回調(diào))
2.請求GET方法(5個參數(shù),url祭钉,參數(shù),進度赡麦,成功朴皆,失敗的回調(diào))
3.此方法生成一個NSURLSessionDataTask方法,并作為一個返回參數(shù)
4.通過requestSerializer請求序列化(請求方式泛粹,參數(shù),url序列化)肮疗,生成一個request(對HTTPHeader的封裝)
5.request創(chuàng)建好后調(diào)用dataTaskRequest方法:通過NSURLSession類調(diào)用dataTaskWithRequest系統(tǒng)方法晶姊。
6.添加dataTask代理方法:addDelegateForDataTask方法
7.setDelegate:ForTask:(傳入delegate,task)伪货,通過key/Value方式來綁定delegate(key為taskIdentifier)们衙。

SDWebImage

架構(gòu)簡圖

image.png

加載圖片的流程

image.png

ReactiveCocoa

  • 函數(shù)式響應編程第三方庫
  • 訂閱一個信號
  • ReactiveCocoa中的核心類:RACSignal,繼承于RACSteam碱呼。
  • RACSignal子類:RACDynamicSignal蒙挑,RACReturnSignal,RACEmptySignal愚臀,RACErrorSignal忆蚀。
  • RACSteam抽象方法:empty,bind姑裂,concat馋袜,zipWith,無法直接使用
  • 通過RAC的分類Opration中舶斧,map欣鳖,take,skip茴厉,ignore泽台,filter。

信號代表一連串的狀態(tài)

image.png

信號狀態(tài)改變時矾缓,對應的訂閱者RACSubscriber就會收到通知執(zhí)行響應指令怀酷。

  • RACSignal使用了類簇設(shè)計模式:返回的都是抽象的RACSignal(創(chuàng)建的不同對象)
  • RACDynamic:將我們傳進來的block作為一個成員變量保存。
  • RACReturn:覆蓋了父類的rerurn方法而账,對id對象進行包裝胰坟,然后返回,將OC對象封裝成一個信號返回給調(diào)用方。

訂閱

  • RACSubscriber訂閱流程:


    image.png
  • RACSubscriber訂閱內(nèi)部原理:
    1.當我們生成一個Subscriber類笔横,內(nèi)部持有一個成員變量:didSubscribe-Block竞滓。

  • 訂閱源碼:


    image.png

    image.png

ASyncDiplayKit

ASyncDiplayKit
減輕主線程的壓力,吧耗時的工作挪到子線程
1.解決布局的的耗時運算(文本寬高吹缔,視圖布局)子線程運算
2.渲染(Rendering):(文本渲染商佑,圖片解碼,圖形繪制)異步繪制
3.對UIKit對象的操作(創(chuàng)建厢塘,調(diào)整茶没,銷毀)

ASyncDiplayKit基本原理

  • 在原生UI的基礎(chǔ)上封裝了一個ASNode類(成員:view,node)晚碾,* 針對ASNode的修改和提交抓半,會對齊進行封裝提交到一個全局容器中。
  • ASDK在Runloop中注冊了一個Observer(beforeWaiting)格嘁。
  • 當Runloop進入休眠前笛求,ASDK執(zhí)行該loop內(nèi)提交的所有任務。
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末糕簿,一起剝皮案震驚了整個濱河市探入,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌懂诗,老刑警劉巖蜂嗽,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異殃恒,居然都是意外死亡植旧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門芋类,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隆嗅,“玉大人,你說我怎么就攤上這事侯繁∨衷” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵贮竟,是天一觀的道長丽焊。 經(jīng)常有香客問我,道長咕别,這世上最難降的妖魔是什么技健? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮惰拱,結(jié)果婚禮上雌贱,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好欣孤,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布馋没。 她就那樣靜靜地躺著,像睡著了一般降传。 火紅的嫁衣襯著肌膚如雪篷朵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天婆排,我揣著相機與錄音声旺,去河邊找鬼。 笑死段只,一個胖子當著我的面吹牛腮猖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赞枕,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼缚够,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鹦赎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤误堡,失蹤者是張志新(化名)和其女友劉穎古话,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锁施,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡陪踩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了悉抵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肩狂。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖姥饰,靈堂內(nèi)的尸體忽然破棺而出傻谁,到底是詐尸還是另有隱情,我是刑警寧澤列粪,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布审磁,位于F島的核電站,受9級特大地震影響岂座,放射性物質(zhì)發(fā)生泄漏态蒂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一费什、第九天 我趴在偏房一處隱蔽的房頂上張望钾恢。 院中可真熱鬧,春花似錦、人聲如沸瘩蚪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽募舟。三九已至祠斧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拱礁,已是汗流浹背琢锋。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呢灶,地道東北人吴超。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像鸯乃,于是被迫代替她去往敵國和親鲸阻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容