Alamofire的技能書初探

2021-09-26 06:10:19 字數 1211 閱讀 7599

你好,我是emma,今天開啟六脈神劍之alamofire的技能書。至於為什麼開啟這個技能書,原因是它是swift中的afn,而且是純粹版afn,其優點簡潔易用已推廣。完美。廢話不多說開始。

###1. 純原生無框架網路請求示例

基本思路:切入點是urlsession:

1.建立urlsession會話;

2.通過url來建立datatask任務;

3.resume()

###3. tcp的握手與揮手

a:我可以和你聊天嗎?

b:可以啊。

a:你好美。。

[外鏈轉存失敗(img-eacvgh1b-1565956664016)(images/urlsession.png)]

情景回放:

b: 我們各自撤了吧。

a:我看行。

a:但是還有工作內有做完,做完再撤吧。

b:嗯好吧。

看了上面的圖那麼疑惑來了,為什麼握手是三次,但是揮手是四次來?

我的理解是這是由伺服器和客戶端兩者傳輸資料的硬體條件決定的,握手很容易之前沒有進行過合作,不存在資料處理沒有完成的問題,但是結束合作就要考慮還有沒有完成的專案的問題。

這個思想在我們編寫**的內部也有很好的模擬的詮釋,這一點讓我想起了rxswift中的銷毀和開始使用的時候,是先制空變數還是先進行方法呼叫的問題。開始使用的時候,先制空再開始呼叫方法,而銷毀的時候是先呼叫銷毀的方法在進行制空。

###4.alamofire的基本使用

基本使用**

alamofire.request(urlstr)

.responsejson

從上面的**和之前我們寫的純原生無框架網路的請求來對比可以看出,使用這個框架可以非常簡潔的進行網路請求,該框架使用了鏈式語法很簡潔且易於開發,傳入和傳出也是很簡單明瞭,傳入直接可以傳str,傳出可以直接返回json資料。這種程式設計框架的設計思想很大程度上簡化了開發者的進行框架使用時的**行數。

既然框架這麼好用那麼其實現的基本原理是什麼呢?

協議拓展就是不可缺少的。

有alamfire名直接提供介面的模式可以叫裝飾模式,

還有就是對單例進行簡單的封裝使用alamfire進行方法的呼叫,而不是用sessionmanage.default這樣的單例,這樣寫的優點是更簡潔明瞭了。

Swift 新增純淨的Alamofire

swift 新增純淨的alamofire 2.解壓縮並開啟 alamofire.xcworkspace 3.刪除不必要的內容 根據你的需求自己定 4.順便把資料夾裡面的無關內容也刪除掉 5.建立乙個測試專案 swift alamofire 6.嵌入alamofire.framework 注意,把al...

基本的技能

前幾天才發覺對於程式設計和計算機視覺有了新的認知。程式設計是門手藝活,但是也有基本的技術。一般面試官都會用鍊錶的相關操作來考察面試者的基本程式設計素養。所以對於這些基本的操作要從新認識一遍。關於位址和實際值總有一些誤區,最近發現可用現實世界的通訊位址來比擬。當位址相同時,操作都會作用於對應的區域。但...

專案經理的軟技能 硬技能

最近參加了一期zitpa組織的培訓活動 部門經理自我完善的軟技能,講師是來自微軟一位部門經理。整場培訓沒有按ppt順序講,基本是討論交流,感覺有很多東西值得學習和思考。用bbs的說法,以下是這次培訓 作業 1 什麼硬技能,什麼是軟技能?硬技能就像計算機硬體,是外在的,大家都能看的見,或者容易感覺到的...