Вие сте много по-гъвкави, когато използвате методи, които приемат NSURLRequest
като например dataTaskWithRequest:
метод. По този начин можете да персонализирате HTTP метода, тялото на заявката, заглавките, общо взето всеки параметър на NSURLRequest
, защото вие сте този, който го създава.
Методите, които вземат NSURL
създават NSURLRequest
за вас под капака, така че да не можете да промените заявката след това. Например методът dataTaskWithURL:
създава HTTP GET
заявка за посочения URL
и не можете да го промените на POST
.
Пример за създаване на задача с NSURLRequest
. Можете да видите, че можете да бъдете много гъвкави тук:
// Create a simple JSON data.
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:@{ @"numbers" : @[@1, @2, @3] } options:0 error:nil];
// Create a POST request with our JSON as a request body.
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
// Set HTTP method.
request.HTTPMethod = @"POST";
// Set request body.
request.HTTPBody = JSONData;
// Create a task.
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error)
{
...
}];
Пример за създаване на задача с помощта на NSURL
. Тук не можете да промените заявката. Той е създаден за вас.
// Create a GET task.
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithURL:url
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error)
{
...
}];
person
Rafa de King
schedule
04.04.2014