色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>開源軟件-YiNetwork HTTP請求封裝庫

開源軟件-YiNetwork HTTP請求封裝庫

2022-06-28 | zip | 0.03 MB | 次下載 | 免費

資料介紹

授權(quán)協(xié)議 MIT
開發(fā)語言 Objective-C
軟件類型 開源軟件
所屬分類 iOS代碼庫網(wǎng)絡(luò)(Networking)

軟件簡介

YiNetwork是一個的HTTP請求封裝庫,基于AFNetworking的AFHTTPSessionManager。

YiNetwork主要是一個基類庫,主要是兩個類YiBaseRequest和YiBaseModel.

之所以創(chuàng)建兩個基類,是為了讓各個請求之間的耦合性降低,能夠非常簡單的實現(xiàn)一個請求,并且在上層很簡單調(diào)用一個請求。每一個請求一個子類也非常能夠方便團隊協(xié)作,每個人都可以管理自己的請求模塊。

另外,由于Apple在網(wǎng)絡(luò)請求方面由NSURLConnection(iOS 2-9)轉(zhuǎn)向NSURLSession(iOS7以上),隨之AFNetworking 3.0也就廢棄了NSURLConnection相關(guān)的 AFURLConnectionOperation,AFHTTPRequestOperation,AFHTTPRequestOperationManager 三個類,并且建議使用AFHTTPSessionManager,所以YiBaseRequest也是基于AFHTTPSessionManager的封 裝。

YiNetwork目前依賴JSONModel version1.1.2和AFNetworking version2.6.1,是一套值得選擇的App請求方案。

Podfile

platform?:ios,?'7.0'pod?"YiNetwork",?"~>?0.9.2"

YiBaseModel

YiBaseModel繼承自第三方庫JSONModel,當(dāng)然你也可以不用使用它,自己解析JSON數(shù)據(jù)或者其它格式的數(shù)據(jù)

YiBaseRequest

YiBaseRequest必須子類化

屬性

@property?(nonatomic,?strong)?NSMutableDictionary?*getParams;
@property?(nonatomic,?strong)?NSMutableDictionary?*postParams;

可以在子類自定義的init方法里面,加入需要的GET參數(shù)或者POST參數(shù)

@property?(nonatomic,?assign)?NSInteger?retryCount;
@property?(nonatomic,?assign)?NSInteger?retryIndex;

retryCount表示請求出錯時重試的次數(shù),默認為0;retryIndex表示正在重試第幾次

方法

?- (void)requestWithSuccess:(void(^)(YiBaseModel *model,NSURLSessionTask *task))success
? ? ? ? ? ? ? ? ? failure:(void(^)(NSError *error,NSURLSessionTask *task))failure;

數(shù)據(jù)請求的方法,只要在上層調(diào)用該方法就可以獲得請求成功或者失敗的反饋,以得到Y(jié)iBaseModel的數(shù)據(jù)。

-?(YiHTTPRequestMethod)requestMethod;

需要實現(xiàn)的子類方法,表示請求方法,默認是YiHTTPRequestMethodGet為GET請求

-?(YiBaseModel?*)responseModelWithData:(id)data;

處理請求到得數(shù)據(jù)

-?(NSString?*)pathName;
-?(NSString?*)rootUrl;

pathName表示請求的具體URL路徑;rootUrl表示請求的URL

-?(AFConstructingBlock)constructingBodyBlock;

當(dāng)需要上傳文件時可以使用

-?(void)cancel;

取消當(dāng)前的NSURLSessionTask對象,也就是取消這次請求

發(fā)送一個GET請求

只要分別子類化YiBaseRequest和YiBaseModel,在上層使用就非常簡單

//通過GET請求獲取用戶信息
????YiGetUserInfoRequest?*getUserInfoRequest=[[YiGetUserInfoRequest?alloc]?init];
????[getUserInfoRequest?requestWithSuccess:^(YiBaseModel?*model,NSURLSessionTask?*task){
????????
????????NSLog(@"username?is?%@",((YiUserInfoModel?*)model).name);
????????
????}?failure:^(NSError?*error,NSURLSessionTask?*task){
????????
????}];

子類化YiBaseModel為YiUserInfoModel

@interface?YiUserInfoModel?:?YiBaseModel
@property(nonatomic,strong)?NSString?*name;
@end

子類化YiBaseRequest為YiGetUserInfoRequest

@implementation?YiGetUserInfoRequest
-(instancetype)init{
????self?=?[super?init];
????if?(self)?{
????????
????}
????return?self;
}
-(instancetype)initWithNameId:(NSString?*)nameId?{
????self?=?[super?init];
????if?(self)?{
????????
????????[self.getParams?setValue:nameId?forKey:@"name_id"];
????????
????}
????return?self;
}
-?(NSString?*)pathName
{
????return?@"users/coderyi";
}
-?(YiHTTPRequestMethod)requestMethod
{
????return?YiHTTPRequestMethodGet;
}
-?(YiBaseModel?*)responseModelWithData:(id)data
{
????
????return?[[YiUserInfoModel?alloc]?initWithDictionary:data?error:nil];
}
@end

發(fā)送一個POST請求

//通過POST請求修改用戶信息
????YiModifyUserInfoRequest?*modifyUserInfoRequest=[[YiModifyUserInfoRequest?alloc]?initWithNameId:@"coderyi"];
????[modifyUserInfoRequest?requestWithSuccess:^(YiBaseModel?*model,NSURLSessionTask?*task){
????????
????????NSLog(@"username?is?%@",((YiUserInfoModel?*)model).name);
????????
????}?failure:^(NSError?*error,NSURLSessionTask?*task){
????????
????}];

子類化YiBaseRequest為YiModifyUserInfoRequest

@implementation?YiModifyUserInfoRequest
-(instancetype)initWithNameId:(NSString?*)nameId?{
????self?=?[super?init];
????if?(self)?{
????????
????????[self.postParams?setValue:nameId?forKey:@"name_id"];
????????
????}
????return?self;
}
-?(NSString?*)pathName
{
????return?@"users/coderyi";
}
-?(YiHTTPRequestMethod)requestMethod
{
????return?YiHTTPRequestMethodPost;
}
-?(YiBaseModel?*)responseModelWithData:(id)data
{
????
????return?[[YiUserInfoModel?alloc]?initWithDictionary:data?error:nil];
}

@end

上傳圖片

?//上傳一張圖片
????????UIImage?*image;
????????YiUploadImageRequest?*uploadImageRequest=[[YiUploadImageRequest?alloc]?initWithImage:image];
????????[uploadImageRequest?requestWithSuccess:^(YiBaseModel?*model,NSURLSessionTask?*task){
????????????NSLog(@"model?is?%@",model);
????
????????}?failure:^(NSError?*error,NSURLSessionTask?*task){
????????????
????????}];

子類化YiBaseRequest為YiUploadImageRequest

@implementation?YiUploadImageRequest{
????UIImage?*_image;
}


-?(id)initWithImage:(UIImage?*)image?{
????self?=?[super?init];
????if?(self)?{
????????_image?=?image;
????}
????return?self;
}
-?(AFConstructingBlock)constructingBodyBlock?{
????return?^(id?formData)?{
????????NSData?*data?=?UIImageJPEGRepresentation(_image,?0.9);
????????NSString?*name?=?@"image";
????????NSString?*formKey?=?@"image";
????????NSString?*type?=?@"image/jpeg";
????????[formData?appendPartWithFileData:data?name:formKey?fileName:name?mimeType:type];
????};
}
@end
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 热久久2018亚洲欧美| 久久99国产精品自在自在| 亚洲免费福利在线视频| 男人边吃奶边挵进去呻吟漫画| 俄罗斯极品hd| 做暧暧免费30秒体验| 亚洲a免费| 日韩欧无码一区二区三区免费不卡| 久久99热这里只有精品66| 国产成人精品一区二区三区视频| 4484在线观看视频| 一二三四免费中文在线1| 小便japanesewctv| 日韩精品欧美在线视频在线| 旧里番6080在线观看| 花蝴蝶在线观看免费中文版高清| 国产69精品久久久久妇女| 97视频在线观看免费播放| 亚洲中文字幕永久在线| 亚洲 欧美 清纯 校园 另类| 色欲精品国产AV久久久| 欧美一区二区激情视频| 免费可以看黄的视频s色| 看美女大腿中间的部分| 久草高清在线| 含羞草在线免费观看| 国产精品无码AV天天爽人妻蜜桃 | 被老总按在办公桌吸奶头| 879影视动漫h免费观看| 伊人精品在线| 亚洲视频免费在线观看| 性欧美videofree中文字幕| 涩涩视频在线看| 日日干日日操日日射| 青青青伊人| 人与禽物videos另类| 秋霞网站一级一片| 青草在线观看视频| 妻子+免费观看完整| 欧洲电影巜肉欲丛林| 全部老头和老太XXXXX|