Alamofire總結及應用

參考博客:Alamofire Tutorial: Getting Started

Alamofire是Swift的HTTP網(wǎng)絡工具包,相當于Swift實現(xiàn)AFNetworking版本长赞。通過一個名叫PhotoTagger的Demo晦攒,你將學會如何使用Alamofire進行基本網(wǎng)絡操作。Demo中得哆,你將上傳圖片到第三方服務Imagga API脯颜,并讓Imagga API為你的圖片加上標簽和配色。

用Cocoapods導入Alamofire的時候贩据,Terminal顯示成功栋操,但是當我import Alamofire的時候,出現(xiàn)了Cannot load underlying module for 'Alamofire'的問題饱亮。一開始我以為是cocoapods版本問題矾芙,查看版本是對的;我又按照Cannot load underlying module for 'Alamofire' · Issue #441 · Alamofire/Alamofire · GitHub上說的近上,重新導入Alamofire剔宪,還是不對。最后壹无,發(fā)現(xiàn)是一個很簡單的錯誤葱绒。cmd+B就可以了import Alamofire了。

simulator

Demo地址:GitHub - Paganarchitect/iOS_tutorial_exercises_RayWenderlich: iOS exercises based on Ray Wenderlich tutorial

#1 安裝Alamofire

打開Podfile斗锭,將里面代碼替換成如下哈街。Alamofire后面可以不用跟版本號,pod自己會知道那是Alamofire的最新版本的拒迅。

Podfile

在終端里:pod install

安裝成功

#2 Alamofire基本用法

1.發(fā)送基本請求

發(fā)送最基本的GET請求
為請求添加參數(shù)骚秦,處理響應信息

responseJSON是從服務端返回的JSON數(shù)據(jù),除此之外璧微,Alamofire還支持普通數(shù)據(jù)作箍,字符串和plist形式的返回。

2.上傳文件

上傳文件到服務器
獲取上傳進度
支持multipartFormData形式的表單數(shù)據(jù)上傳

3.下載文件

下載文件
設置默認的下載位置
檢測下載進度

4.HTTP驗證

authenticate方法

5.HTTP響應狀態(tài)信息識別

手動識別
自動識別前硫。自動認為200..<300的statusCode正常

6.調試狀態(tài)

打印請求的詳細信息

#3 REST, JSON,HTTP簡介

1.HTTP:是一種網(wǎng)絡傳輸協(xié)議胞得。它定義了這幾種請求方法:

--GET用于獲取數(shù)據(jù)

--HEAD類似GET,但只能獲取header屹电,不能獲取實際數(shù)據(jù)

--POST將數(shù)據(jù)發(fā)送到服務器

--PUT將數(shù)據(jù)發(fā)送到一個具體位置

--DELETE將數(shù)據(jù)從一個具體位置刪除

2.REST全稱是REpresentational State Transfer阶剑,指的是一組架構約束條件和原則。如果一個架構符合REST的約束條件和原則危号,我們稱它為RESTful架構牧愁。這些規(guī)則包括:不保持請求狀態(tài),緩存請求外莲,提供獨特的接口猪半。這使得app開發(fā)者集成API時不用跟蹤請求的數(shù)據(jù)狀態(tài)兔朦。

3.JSON全稱是Javascript Object Notation,是一種輕量級的數(shù)據(jù)交換語言磨确,以文字為基礎沽甥,易于閱讀。它的數(shù)據(jù)類型有限乏奥。Apple提供NSJSONSerialization類來將對象轉化為JSON等格式

#4 為什么要使用Alamofire

Alamofire是以NSURLSession為基礎的摆舟,但是相比NSURLSession,它更簡短邓了,邏輯更清晰恨诱。Alamofire有這幾個主要功能:上傳,下載驶悟,請求胡野。這些功能的作用域是module材失,而不是class和struct痕鳍。

#5 上傳文件

1.格式轉換。保證Imagga API得到正確的格式龙巨。

ViewController.swift

2.因為Alamofire是異步的笼呆,所以你的UI更新也要以異步的方式。

ViewController.swift

3.導入Alamofire旨别,并調用upload方法诗赌。

找到uploadImage方法,并添加以下代碼.思路是:

上傳成功--計算上傳進度--檢查response是否成功--檢查response的每一部分秸弛,確保類型正確--上傳完成铭若,清空數(shù)組

上傳失敗--輸出encodingError

ViewControllers.swift

#6 獲取數(shù)據(jù)

1.獲取tags

獲取tags

2.獲取colors

獲取colors

3.更新upload()的completion handler方法

更新completion handler方法

完成!5堇馈叼屠!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绞铃,隨后出現(xiàn)的幾起案子镜雨,更是在濱河造成了極大的恐慌,老刑警劉巖儿捧,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荚坞,死亡現(xiàn)場離奇詭異,居然都是意外死亡菲盾,警方通過查閱死者的電腦和手機颓影,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懒鉴,“玉大人瞭空,你說我怎么就攤上這事。” “怎么了咆畏?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵南捂,是天一觀的道長。 經常有香客問我旧找,道長溺健,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任钮蛛,我火速辦了婚禮鞭缭,結果婚禮上,老公的妹妹穿的比我還像新娘魏颓。我一直安慰自己岭辣,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布甸饱。 她就那樣靜靜地躺著沦童,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叹话。 梳的紋絲不亂的頭發(fā)上偷遗,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音驼壶,去河邊找鬼氏豌。 笑死,一個胖子當著我的面吹牛热凹,可吹牛的內容都是我干的泵喘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼般妙,長吁一口氣:“原來是場噩夢啊……” “哼纪铺!你這毒婦竟也來了?” 一聲冷哼從身側響起股冗,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤霹陡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后止状,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烹棉,經...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年怯疤,在試婚紗的時候發(fā)現(xiàn)自己被綠了浆洗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡集峦,死狀恐怖伏社,靈堂內的尸體忽然破棺而出抠刺,到底是詐尸還是另有隱情,我是刑警寧澤摘昌,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布速妖,位于F島的核電站,受9級特大地震影響聪黎,放射性物質發(fā)生泄漏罕容。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一稿饰、第九天 我趴在偏房一處隱蔽的房頂上張望锦秒。 院中可真熱鬧,春花似錦喉镰、人聲如沸旅择。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽生真。三九已至,卻和暖如春铺敌,著一層夾襖步出監(jiān)牢的瞬間汇歹,已是汗流浹背屁擅。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工偿凭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人派歌。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓弯囊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親胶果。 傳聞我的和親對象是個殘疾皇子匾嘱,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內容