swift之常用的框架集合

2021-08-15 00:16:43 字數 1680 閱讀 9578

swift引入第三方庫常見問題:

首先需要了解下靜態庫,動態庫,framework的區別所謂的庫就是一段編譯好的二進位制檔案,加上標頭檔案,相關的資源檔案就可供別人使用

靜態庫:

(靜態鏈結庫)(.a)在編譯時會將庫copy乙份到目標程式中,

編譯完成之後,目標程式不依賴外部的庫,也可以執行 缺點是會使應用程式變大

動態庫:

(.dylib)編譯時只儲存了指向動態庫的引用。 可以多個程式指向這個庫,在執行時才載入,

不會使體積變大, 但是執行時載入會損耗部分效能,並且依賴外部的環境,如果庫不存在或者版本不正確則無法執行

framework:實際上是一種打包方式,將庫的二進位制檔案,標頭檔案和有關的資源檔案打包到一起,方便管理和分發。

對於是否使用framework,cocoapods 通過use_frameworks來控制

1.不使用use_frameworks! -> static libraries 方式 -> 生成.a檔案

在podfile中如不加use_frameworks!,cocoapods會生成相應的 .a檔案(靜態鏈結庫),

link binary with libraries: libpods-**.a 包含了其他用pod匯入有第三庫的.a檔案

2.use_frameworks! -> dynamic frameworks 方式 -> 生成.framework檔案

使用了use_frameworks!,cocoapods會生成對應的frameworks檔案(包含了標頭檔案,二進位制檔案,資源檔案等等)

link binary with libraries:pods_***.framework包含了其它用pod匯入的第三方框架的.framework檔案

1.純oc專案中 通過pod匯入純oc專案, 一般都不使用frameworks

2.swift 專案中通過pod匯入swift專案,必須要使用use_frameworks!(這個是那個作者的意見),

在需要使用的到地方 import afnetworking

3.swift 專案中通過pod匯入oc專案 (我沒有用橋接,用橋接報錯)

1) 使用use_frameworks,在橋接檔案裡加上#import "afnetworking/afnetworking.h"

2)不使用frameworks,橋接檔案加上 #import "afnetworking.h"

參考swift常用的框架

響應是程式設計rxswift:

類庫集合:

最全框架集合:

框架集合:下拉重新整理

框架集合:

********************====常用主流框架******************************=

網路請求框架alamofire:

moya是對alamofire的封裝:

swiftjson是swift 界 json 解析之王(不是字典轉模型,吧就送字串轉換成json物件):

字典轉模型handyjson:

自動布局框架snapkit:

網路監控:reachability.swift:     

reachability  這個是oc的

mbprogresshud:(oc寫的,需要橋接)

下拉重新整理:mjrefresh(需橋接)

輪播框架:

跑馬燈:

相簿多選:

集合框架之 set集合

物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,需要在物件的實體類裡面重寫public boolean equals object obj 和 public int has...

集合框架之Set TreeSet

treeset是set介面的實現類,底層資料結構是二叉樹。treeset的儲存方式按照一定的規則。儲存規則讓資料表現出自然順序。新增乙個新元素t的儲存步驟 1 如果集合無元素,t直接加入 如果集合有元素,t和根節點比較 2 如果t小於根節點 把t放到根節點的左子樹上 重複1 3步驟 3 t大於根節點...

集合框架之List

collection 為頂層集合介面,其下面分有list和set介面。list集合的特點 元素有序 可重複。可以通過索引index來增加 刪除元素。增 add addall add index,某元素 add index,某集合 刪 clear remove removeall remove ind...