iOS 自己封裝的網路請求,json解析的類

2021-07-14 03:09:40 字數 2418 閱讀 7532

樓主封裝的網路請求類,包括自己寫的http請求和afnetworking的請求,**簡單,主要是框架搭建。簡單來說,就是乙個請求類,乙個解析類,還有若干資料類。

以下**以公開的天氣查詢api為例:

1.網路請求類

我把常用的網路請求方法都封裝好了,你只需要寫自己的介面,傳遞apiname,params等引數就可以。

//ios自帶的get請求方式

-(void)getddbyurlpath:(nsstring )path andparams:(nsstring )params andcallback:(callback)callback

nsstring* pathstr = [path stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];

nslog(@"url:%@",pathstr);

nsurl *url = [nsurl urlwithstring:pathstr];

nsmutableurlrequest *request = [nsmutableurlrequest requestwithurl:url];

nsurlsession *session = [nsurlsession sharedsession];

nsurlsessiondatatask *task = [session datataskwithrequest:request completionhandler:^(nsdata *data, nsurlresponse *response, nserror *error) else

});}];//開始請求

[task resume];}

//ios自帶的post請求方式

-(void)postddbybyurlpath:(nsstring )path andparams:(nsdictionary)params andcallback:(callback)callbackelse

});}];

//開始請求

[task resume];

}//第三方的get請求方式

//第三方的post請求方式

//第三方的post上傳請求方式

-(void)postimagebyapiname:(nsstring )apiname andparams:(id)params andimagesarray:(nsarray)images andback:(callback)callback success:^(afhttprequestoperation *operation, id responseobject) failure:^(afhttprequestoperation *operation, nserror *error) ];以天氣查詢為例,自己寫個介面,選擇請求方式:

-(void)getweathercallback:(callback)callback];2 解析類,這個不同的資料要不同的解析類,自己寫,這個是天氣的例子:

+(weather )parseweatherbyweatherdic:(nsdictionary )dic{

nsdictionary* weatherinfodic = [dic objectforkey:@"weatherinfo"];

weather* weainfo = [[weather alloc]init];

weainfo.city = [weatherinfodic objectforkey:@"city"];

weainfo.date = [weatherinfodic objectforkey:@"date_y"];

weainfo.week = [weatherinfodic objectforkey:@"week"];

weainfo.wind = [weatherinfodic objectforkey:@"wind1"];

weainfo.weather = [weatherinfodic objectforkey:@"weather1"];

weainfo.tip = [weatherinfodic objectforkey:@"index"];

return weainfo;

3 在請求網路的地方請求

iOS 封裝網路請求

在開發過程中,很多模組都要去請求網路資料,如果每遇到一次都要去編寫請求網路的方法,為了方便,封裝網路請求 h檔案 寫乙個列舉標示請求型別 typedef ns enum nsinteger,requsttype 定義兩個block,把block當做引數 typedef void success ns...

iOS 自己封裝的網路請求,json解析的類

樓主封裝的網路請求類,包括自己寫的http請求和afnetworking的請求,簡單,主要是框架搭建。簡單來說,就是乙個請求類,乙個解析類,還有若干資料類。以下 以公開的天氣查詢api為例 1.網路請求類 我把常用的網路請求方法都封裝好了,你只需要寫自己的介面,傳遞apiname,params等引數...

iOS 網路請求 與 網路封裝

void viewdidload void buttonclick uibutton button void getsynchrnized void postsynchrnized void getasynchrnized void postasynchrnized 新建立乙個類,繼承與nsobje...