過年放假回家,打算在家把之前項(xiàng)目中使用的網(wǎng)絡(luò)請(qǐng)求用RAC的信號(hào)重構(gòu)一遍。
接觸到rac以來一直沒有系統(tǒng)的應(yīng)用到實(shí)戰(zhàn)中,搜到的一些資料也只是介紹這個(gè)框架的特性及其用法。過年在家中閑著無事,結(jié)合幾位大牛的博客,和一些開源的項(xiàng)目終于找到一些靈感,做了網(wǎng)絡(luò)請(qǐng)求的封裝。初次嘗試,有很多不足,這篇文章作為記錄。
使用到的庫:
AFNetworking
RAC
首先,創(chuàng)建基類網(wǎng)絡(luò)請(qǐng)求:

由于需要使用用到AFHTTPSessionManager 的意思私有方法,所以需要把接口引用出來。

接下來就是具體使用anf做網(wǎng)絡(luò)請(qǐng)求之后用信號(hào)傳遞傳遞結(jié)果。rac的信號(hào)傳遞好比 一個(gè)水管中的水,這個(gè)比喻隨著學(xué)習(xí)的深入,越來越能體會(huì)的到。


在實(shí)際請(qǐng)求中,很多時(shí)候網(wǎng)絡(luò)請(qǐng)求會(huì)失敗,或者我們的服務(wù)器采用auth認(rèn)證,登陸之后的token在過一段時(shí)間之后會(huì)過期,這時(shí)候會(huì)需要我們做重新登陸的換取token 的操作。


以上部分就是基礎(chǔ)類的構(gòu)建,接下來只需要根據(jù)業(yè)務(wù)不同,創(chuàng)建不同的子類繼承基礎(chǔ)類就行了。
such as:


demo地址:demo : https://github.com/lforme/RACRefreshTokenDemo
用swift寫的