你是個不錯更加靈活。這樣,您可以自定義HTTP方法,請求正文,標題,基本上每個參數NSURLRequest
,因爲它是您創建它。
中的方法採取NSURL
創建的NSURLRequest
爲您在引擎蓋下,所以你不能事後修改請求。例如,dataTaskWithURL:
方法會爲指定的URL
創建一個HTTP GET
請求,並且您無法將其更改爲POST
。
使用NSURLRequest
創建任務的示例。你可以看到你可以非常靈活這裏:創建使用NSURL
任務的
// 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)
{
...
}];
例。在這裏你不能修改請求。它是爲你創造的。
// Create a GET task.
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithURL:url
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error)
{
...
}];