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

2021-07-04 01:13:30 字數 2552 閱讀 7020

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

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

1.網路請求類

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

#pragma mark ios請求方式

//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)callback

else

});}];

//開始請求

[task resume];

}}#pragma mark 第三方請求方式

//第三方的get請求方式

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

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

}

以天氣查詢為例,自己寫個介面,選擇請求方式:

-(void

)getweathercallback:(callback)callback];

}

2 解析類,這個不同的資料要不同的解析類,自己寫,這個是天氣的例子:

+(weather *)parseweatherbyweatherdic:(nsdictionary *)dic
3 在請求網路的地方請求

- (void

)getnetdata];

}- (void

)givevalue

我封裝的類可以去我github拿:

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...