使用NSURLSession同步獲取數據(通過添加信號量)

//創建NSURL對象

NSURL *url = [NSURL URLWithString:@""]];?

//創建請求對象

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@""]];

__block NSData *responseData = nil; ? ?

__block NSError *responseError = nil;

NSURLSession *session = [NSURLSession sharedSession];

dispatch_semaphore_t semaphore= dispatch_semaphore_create(0);

NSURLSessionDataTask *task = [session dataTaskWithRequest:request

completionHandler:

^(NSData *data, NSURLResponse *response, NSError *error) {

// ...

responseData = data;

responseError = error;

NSLog(@"-----%@",response);

dispatch_semaphore_signal(semaphore);

}];

[task resume];

dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容