UI Advanced Data Parsing (Network request nsurlsession)

Source: Internet
Author: User

GET Post Async Block method

POST:-(Ibaction) Post: (ID) Sender {nsurlsession*session =[Nsurlsession sharedsession]; NSString*urlstring =@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx"; Nsurl*url =[Nsurl urlwithstring:urlstring]; Nsmutableurlrequest*request =[Nsmutableurlrequest Requestwithurl:url]; NSString*datastring =@"date=20131129&startrecord=1&len=5&udid=1234567890&terminaltype=iphone&cid=213"; NSData*potadata =[datastring datausingencoding:nsutf8stringencoding]; [Request Sethttpmethod:@"POST"];        [Request Sethttpbody:potadata]; Nsurlsessiontask*task = [Session datataskwithrequest:request completionhandler:^ (NSData * _nullable data, Nsurlresponse * _Nullable RESPO NSE, Nserror *_nullable Error) {               if(Error = =Nil) {Nsdictionary*dic =[nsjsonserialization jsonobjectwithdata:data options:nsjsonreadingallowfragments Error:nil]; NSLog (@"dic = =%@" , DIC);        }                    }];    [Task resume]; }GET: //using the block callback method//using the system-provided global Nsurlsession object, is a single caseNsurlsession *session =[Nsurlsession sharedsession]; //Create an address string (do not empty the grid)NSString*urlstring =@"http://ipad-bjwb.bjd.com.cn/digitalpublication/publish/handler/apinewslist.ashx?date=20131129& startrecord=1&len=5&udid=1234567890&terminaltype=iphone&cid=213"; //Uniform Resource LocatorNsurl *url =[Nsurl urlwithstring:urlstring]; //Nsurlsession is task-based, so everything is put into the task, Nsurlsessiontask is Nsurlsession's task execution objectNsurlsessiontask *task = [Session Datataskwithurl:url completionhandler:^ (NSData * _nullable data, Nsurlresponse * _Nulla BLE response, Nserror *_nullable Error) {               if(Error = =Nil) {Nsdictionary*dic =[nsjsonserialization jsonobjectwithdata:data options:nsjsonreadingallowfragments Error:nil]; NSLog (@"dic = =%@", DIC);        }            }]; //all nsurlsession tasks are suspended by default, so be sure to call the Resume method to start the task          //[Task resume];

GET Post Asynchronous Proxy method

 //nsurlsessiondatadelegate nsurlsession the Proxy protocol for obtaining network data @interface viewcontroller () < Nsurlsessiondatadelegate>// data @property for saved results(nonatomic, Strong) Nsmutabledata *  Resultdata; @end  POST: -(Ibaction) Post: (ID) Sender {Nsurl*url = [Nsurl urlwithstring:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx"]; Nsmutableurlrequest*request =[Nsmutableurlrequest Requestwithurl:url]; NSString*datastring =@"date=20131129&startrecord=1&len=5&udid=1234567890&terminaltype=iphone&cid=213"; NSData*potadata =[datastring datausingencoding:nsutf8stringencoding]; [Request Sethttpmethod:@"POST"];    [Request Sethttpbody:potadata]; Nsurlsession*session = [Nsurlsession sessionwithconfiguration:[nsurlsessionconfiguration defaultsessionconfiguration]Delegate: Self delegatequeue:[nsoperationqueue mainqueue]]; Nsurlsessiondatatask*datatask = [Session datataskwithrequest:request];    [Datatask resume]; }GET: -(Ibaction)Get:(ID) Sender {//asynchronous operation of the nsurlsession agent//Nsurlsession Agent Property is read-only//first parameter: Session mode//second parameter: Agent//third parameter: Which thread the proxy method is inNsurlsession *session = [Nsurlsession sessionwithconfiguration:[nsurlsessionconfiguration Defaultsessionconfiguration]Delegate: Self delegatequeue:[nsoperationqueue mainqueue]]; Nsurl*url = [Nsurl urlwithstring:@"http://ipad-bjwb.bjd.com.cn/digitalpublication/publish/handler/apinewslist.ashx?date=20131129& startrecord=1&len=5&udid=1234567890&terminaltype=iphone&cid=213"]; //sub-class object for NsurlsessiontaskNsurlsessiondatatask *datatask =[Session Datataskwithurl:url];     [Datatask resume]; }

//Agent-implemented methods
Server starts responding
-(void) Urlsession: (Nsurlsession *) session Datatask: (nonnull nsurlsessiondatatask *) datatask Didreceiveresponse: ( Nonnull nsurlresponse *) Response Completionhandler: (nonnull void (^) (nsurlsessionresponsedisposition)) Completionhandler
{
The Nsurlsession proxy protocol must be set up to allow continued requests to continue the response server to obtain the data
Completionhandler (Nsurlsessionresponseallow);
Self.resultdata = [Nsmutabledata data];



}

Receive data
-(void) Urlsession: (Nsurlsession *) session Datatask: (nonnull nsurlsessiondatatask *) datatask didreceivedata: (nonnull NSData *) data
{

[Self.resultdata Appenddata:data];



}
End response
-(void) Urlsession: (Nsurlsession *) session Task: (Nsurlsessiontask *) Task Didcompletewitherror: (NSERROR *) error
{

if (Error = = nil) {

Nsdictionary *dic = [Nsjsonserialization JSONObjectWithData:self.resultData options:nsjsonreadingallowfragments Error:nil];

NSLog (@ "dic = =%@", dic);
}


}






UI Advanced Data Parsing (Network request nsurlsession)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.