第三方框架

AFNetWorking

組成

  • 底部:會話模塊(NSURLSession)、網(wǎng)絡(luò)監(jiān)聽模塊(AFSecurityPolicy)、網(wǎng)絡(luò)安全模塊(AFSecurityPolicy)
  • 中間層: 請求序列化、響應(yīng)序列化
  • 上層:UIKit集成模塊

類的關(guān)系圖

  • 主要類AFURLSessionManager
  • 繼承自AFHTTPSessionManager(我們平時常用的類):包含兩個模塊,AFURLRequestSerialzation、AFURLResponseSerialzation
  • 組成部分:NSURLSession(網(wǎng)絡(luò)會話部分)、AFSecurityPolicy(網(wǎng)絡(luò)安全證書驗證、公鑰驗證)、AFSecurityPolicy(網(wǎng)絡(luò)環(huán)境驗證)

主要功能

  • 創(chuàng)建和管理NSURLSession、NSURLSessionTask,創(chuàng)建網(wǎng)絡(luò)請求
  • 實現(xiàn)NSURLSessionDelegate等協(xié)議的代理方法,處理網(wǎng)絡(luò)請求過程中的問題,重定向,驗證挑戰(zhàn)等網(wǎng)絡(luò)部分
  • 引入AFSecurityPolicy保證請求安全, 證書的校驗,公鑰的驗證
  • 引入AFNetworkReachabilityManager監(jiān)控網(wǎng)絡(luò)狀態(tài)

SDWebImageView

異步下載并支持緩存的框架

框架組成

  • UIImageView + WebCache
  • SDWebImageManager:核心類
  • SDImageCache:內(nèi)存緩存、磁盤緩存
  • SDWebImageDownLoader:網(wǎng)絡(luò)圖片下載器

加載圖片流程

  • 根據(jù)圖片key值,在內(nèi)存中查找
  • 內(nèi)存中未找到,進行磁盤查找
  • 磁盤未找到,進行網(wǎng)絡(luò)下載

Reactive Cocoa

函數(shù)響應(yīng)式編程

信號和訂閱

  • 信號:信號代表一連串的狀態(tài)
  • 訂閱:訂閱信號,通過RACSubscriber來實現(xiàn)的,實際上就是作為一個成員變量對其block進行持有,調(diào)用subscribe時,來通過sendnext來執(zhí)行這個方法

調(diào)用流程

RACSignal -> subscribeNext -> RACSubscriber -> sendNext -> sendCompleted -> end

底層原理

initialize-RACSubscriber,此時我們持有了一個成員變量,這個成員變量實際上時didSubscribe的一個block,調(diào)用RACSubscriber方法時,就是調(diào)用這個block

AsyncDisplayKit

提升iOS界面渲染性能

主要處理的問題

  • Layout:文本寬高計算、視圖布局計算
  • Rendering:文本渲染、圖形解碼、圖形繪制
  • UIKit Objects:對象創(chuàng)建、對象調(diào)整、對象銷毀

ASDK的實現(xiàn)原理

封裝一個NSNode節(jié)點,我們對于視圖的一些屬性設(shè)置和處理在nsnode中執(zhí)行,這部分可以放到后臺中去執(zhí)行,在RunLoop將要結(jié)束時,通過beforeWaiting通知,ASDK執(zhí)行該loop內(nèi)提交的所有任務(wù),來從全局容器中提取,一次性設(shè)置給UIView

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容