網(wǎng)絡(luò)架構(gòu)
當(dāng)一個請求返回失敗信息的時候 API 的 調(diào)用順序
?================>>>>>>paramsForApi
?================>>>>>>reformParams
?================>>>>>>shouldCallAPIWithParams
?================>>>>>>isCorrectWithParamsData
================>>>>>>開始請求
================>>>>>>請求結(jié)束
?================>>>>>>beforePerformFailWithResponse
================>>>>>>managerCallAPIDidFailed
?================>>>>>>afterPerformFailWithResponse
當(dāng)一個請求放回成功信息的時候 API 的調(diào)用順序
?================>>>>>>paramsForApi
?================>>>>>>reformParams
?================>>>>>>shouldCallAPIWithParams
?================>>>>>>isCorrectWithParamsData
================>>>>>>開始請求
================>>>>>>請求結(jié)束
================>>>>>>isCorrectWithCallBackData
================>>>>>>beforePerformSuccessWithResponse
================>>>>>>managerCallAPIDidSuccess
================>>>>>>afterPerformSuccessWithResponse
前面四個方法都是在正式請求之前的方法
paramsForApi 這個方法是在Controller中獲取到參數(shù)? 需要Controller 實現(xiàn) CTAPIManagerParamSource
reformParams 這個方法是Manager獲取Controller傳遞過來的參數(shù) 進行再一次的組裝(主要是添加一些Controller不需要傳遞的參數(shù), 這里一般是不修改Controller傳遞過來的參數(shù))
shouldCallAPIWithParams 這個方法是攔截器Interceptor里面的代理方法? YES 代表可以請求接口? NO 代表直接攔截 不需要發(fā)送請求? 代理:CTAPIManagerInterceptor
isCorrectWithParamsData 這個方法是CTAPIManagerValidator里面的方法? YES 代表客戶端參數(shù)沒有問題 可以發(fā)送請求? 這個方法一般都是在Manager里面去驗證 因為驗證參數(shù)的合理性也是Manager需要去做的
后面這三個方法就是請求結(jié)束之后的方法
beforePerformFailWithResponse 這個方法是攔截器里面的代理方法? YES代表可以調(diào)用managerCallAPIDidFailed方法 NO則代表不調(diào)用
managerCallAPIDidFailed 這個方法是代理CTAPIManagerCallBackDelegate里面的方法 該方法代表請求失敗? 這個方法都是在Controller中去實現(xiàn)
afterPerformFailWithResponse 這方法是在managerCallAPIDidFailed調(diào)用之后 去調(diào)用 也是攔截器里面的方法
?如果beforePerformFailWithResponse 直接返回NO managerCallAPIDidFailed 以及 afterPerformFailWithResponse 這兩個方法都不會調(diào)用
isCorrectWithCallBackData 這個方法是CTAPIManagerValidator里面的方法 只有當(dāng)請求成功之后才會調(diào)用該方法 這個方法寫在Manager里面
beforePerformSuccessWithResponse 這個方法是攔截器里面的代理方法 YES代表可以調(diào)用managerCallAPIDidSuccess方法 NO則代表不調(diào)用
managerCallAPIDidSuccess 這個方法是代理CTAPIManagerCallBackDelegate里面的方法 該方法代表請求成功? 這個方法都是在Controller中去實現(xiàn)
afterPerformSuccessWithResponse? 這方法是在managerCallAPIDidSuccess調(diào)用之后調(diào)用 也是攔截器里面的方法
使用CTNetworking網(wǎng)絡(luò)框架
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門董饰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒿褂,“玉大人,你說我怎么就攤上這事卒暂∽乃ǎ” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵也祠,是天一觀的道長昙楚。 經(jīng)常有香客問我,道長诈嘿,這世上最難降的妖魔是什么堪旧? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮奖亚,結(jié)果婚禮上崎场,老公的妹妹穿的比我還像新娘。我一直安慰自己遂蛀,他們只是感情好谭跨,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般螃宙。 火紅的嫁衣襯著肌膚如雪蛮瞄。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼伺糠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了斥季?” 一聲冷哼從身側(cè)響起训桶,我...
- 正文 年R本政府宣布抬伺,位于F島的核電站螟够,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏峡钓。R本人自食惡果不足惜妓笙,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望能岩。 院中可真熱鬧寞宫,春花似錦、人聲如沸拉鹃。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钥屈,卻和暖如春悟民,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背篷就。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中。鼎姐。钾麸。 其實如果沒有APIManager這一層是沒法使用delegate的更振,畢竟多個單...
- 轉(zhuǎn)自http://casatwy.com/iosying-yong-jia-gou-tan-viewceng-de...
- IOC 控制反轉(zhuǎn)容器控制程序?qū)ο笾g的關(guān)系炕桨,而不是傳統(tǒng)實現(xiàn)中,有程序代碼之間控制肯腕,又名依賴注入献宫。All 類的創(chuàng)建,...
- 原文: iOS應(yīng)用架構(gòu)談 view層的組織和調(diào)用方案 iOS應(yīng)用架構(gòu)談 開篇 iOS應(yīng)用架構(gòu)談 網(wǎng)絡(luò)層設(shè)計方案 i...
- 目標(biāo) 英(√) a.背70個百詞斬(√) b.滬江開心詞場3關(guān)(√) c.voa慢速一則(√) d.英語流利說一關(guān)...