在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>開源軟件-YiNetwork HTTP請求封裝庫

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

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

資料介紹

授權協議 MIT
開發語言 Objective-C
軟件類型 開源軟件
所屬分類 iOS代碼庫網絡(Networking)

軟件簡介

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

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

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

另外,由于Apple在網絡請求方面由NSURLConnection(iOS 2-9)轉向NSURLSession(iOS7以上),隨之AFNetworking 3.0也就廢棄了NSURLConnection相關的 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,當然你也可以不用使用它,自己解析JSON數據或者其它格式的數據

YiBaseRequest

YiBaseRequest必須子類化

屬性

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

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

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

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

方法

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

數據請求的方法,只要在上層調用該方法就可以獲得請求成功或者失敗的反饋,以得到YiBaseModel的數據。

-?(YiHTTPRequestMethod)requestMethod;

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

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

處理請求到得數據

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

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

-?(AFConstructingBlock)constructingBodyBlock;

當需要上傳文件時可以使用

-?(void)cancel;

取消當前的NSURLSessionTask對象,也就是取消這次請求

發送一個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

發送一個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數據手冊
  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元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 日韩毛片免费在线观看 | 在线观看精品国产入口 | 天天看人体 | 国产成人在线播放视频 | 成人在线天堂 | 在线视频资源 | 欧美激情 自拍 | 日韩综合nv一区二区在线观看 | www午夜| 岛国中文字幕 | 日本xxxx69hd | 黄视频免费在线观看 | 一级毛片黄色 | 美女大黄三级视频在线观看 | 人人爱天天做夜夜爽 | 一级毛片免费在线观看网站 | sese综合| 免费番茄社区性色大片 | 成人a在线| 亚洲视频在线一区 | 国产免费糟蹋美女视频 | 手机免费在线视频 | 男人的天堂久久精品激情 | 免费黄色大片网站 | 欧美色图首页 | 国产毛片农村妇女系列 | 国产特黄一级毛片特黄 | 午夜视频久久 | 特级黄一级播放 | 二区中文字幕 | 又大又粗进出白浆直流动态图 | 国外免费精品视频在线观看 | 免费又黄又硬又大爽日本 | 福利片在线观看免费高清 | 亚洲欧美视频在线观看 | 国产美女精品久久久久中文 | 久青草免费在线视频 | 免费番茄社区性色大片 | 一区二区三区四区在线不卡高清 | 很黄很黄叫声床戏免费视频 | 亚洲宅男天堂a在线 |