ios - NSURLSession tasks creation -
i'm working on networkcommunicator helper class, handle connection server,i'm using nsurlsession api , have question creation of nsurlsession tasks. there 2 ways create taks:
1 - nsurlrequest
2 - url
i wondering preferred way? more specific in way life easier (adding headers, setting verb types, etc'..).
thanks
you more flexible when use methods take nsurlrequest example datataskwithrequest: method. way can customize http method, request body, headers, every parameter of nsurlrequest because creates it.
methods take nsurl create nsurlrequest for you under hood cannot modify request afterwards. example datataskwithurl: method creates http get request specified url , cannot change post.
example of creating task nsurlrequest. can see can flexible here:
// create simple json data. nsdata *jsondata = [nsjsonserialization datawithjsonobject:@{ @"numbers" : @[@1, @2, @3] } options:0 error:nil]; // create post request our json request body. nsmutableurlrequest *request = [nsmutableurlrequest requestwithurl:url]; // set http method. request.httpmethod = @"post"; // set request body. request.httpbody = jsondata; // create task. nsurlsessiondatatask *task = [[nsurlsession sharedsession] datataskwithrequest:request completionhandler:^(nsdata *data, nsurlresponse *response, nserror *error) { ... }]; example of creating task using nsurl. here cannot modify request. created you.
// create task. nsurlsessiondatatask *task = [[nsurlsession sharedsession] datataskwithurl:url completionhandler:^(nsdata *data, nsurlresponse *response, nserror *error) { ... }];
Comments
Post a Comment