[URLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]];
主要说一下这个函数参数的意义;
/**
参数
1. 配置 config
2. 代理 self
3. 代理工作的队列 必须是NSOperationQueue队列
[NSOperationQueue mainQueue] 代理在主线程上工作
nil - 代理异步工作
[[NSOperationQueue alloc] init] - 代理在异步工作
注意:URLSession 请求本身的网络操作是异步的,无论指定什么队列,都是在异步执行的
- 这里制定的队列是在此指定的代理的工作队列,表示发生网络事件后,希望在哪一个线程中工作!
队列的选择类型依据与 NSURLConnection 异步的队列选择依据相同!
-如果完成后需要做复杂(耗时)的处理,可以选择异步队列
-如果完成后直接更新UI,可以选择主队列
强调:session本身工作的线程,与代理工作的线程是不一样的
*/
例如:

又如:

[URLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]的更多相关文章
- Model--汇总
NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver ...
- NSURLSession从网络上下载资源,此程序下载的是视频
#import "ViewController.h" @interface ViewController ()<NSURLSessionDelegate, NSURLSess ...
- 网络编程(二)NSURLSessionConfiguration
1.NSURLSession有三种工作模式 (1)defaultSessionConfiguration(默认):使用的是基于磁盘缓存的持久化策略,Cache,Cookie. (2)ephemeral ...
- NSURLSessionDataTask
#import "ViewController.h" @interface ViewController ()<NSURLSessionDelegate,NSURLSessi ...
- ios9基础知识(技能篇)
NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver ...
- ios开发网络学习十二:NSURLSession实现文件上传
#import "ViewController.h" // ----WebKitFormBoundaryvMI3CAV0sGUtL8tr #define Kboundary @&q ...
- ios开发网络学习九:NSURLSessionDownloadTask实现大文件下载
一:NSURLSessionDownloadTask:实现文件下载:无法监听进度 #import "ViewController.h" @interface ViewControl ...
- NSURLSession实现文件上传
7.1 涉及知识点(1)实现文件上传的方法 /* 第一个参数:请求对象 第二个参数:请求体(要上传的文件数据) block回调: NSData:响应体 NSURLResponse:响应头 NSErro ...
- iOS网络2——NSURLSession使用详解
原文在此 一.整体介绍 NSURLSession在2013年随着iOS7的发布一起面世,苹果对它的定位是作为NSURLConnection的替代者,然后逐步将NSURLConnection退出历史舞台 ...
随机推荐
- yii2下载
我发现yii2下载贼困难,不过折腾了很久终于搞下来了. 一,设置镜像 安装composer , 下载 composer.phar 添加中国镜像 composer config -g repo. ...
- wxPython制作跑monkey工具(python3)
一. wxPython制作跑monkey工具python文件源代码内容Run Monkey.py如下: #!/usr/bin/env python import wx import os import ...
- webpack根据开发与生产环境配置不同变量--webpack.DefinePlugin
webpack有一个DefinePlugin接口,可以实现根据开发与生产环境配置不同变量.范例如下: 需求:开发环境请求baseUrl = '':生产环境请求 baseUrl = 'http://lo ...
- git版本管理工具常用命令
git是分布式版本管理工具,一台电脑既可以是客户端,也可以是服务端.工作过程中可以断开网络.svn是集中式版本管理工具,一台服务器控制很多客户端,使用过程不能断网. git的优点有:适合分布式开发,强 ...
- 30天代码day0
a class is a collection of variables (fields) and functions called methods. A program is a collectio ...
- Spring Boot + JPA 因为 javassist 包出现 NullPointerException 问题的解决
Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.ent ...
- JavaList列表的一些方法
import java.util.ArrayList;import java.util.Iterator;import java.util.List; public class Test1 { pub ...
- 实例:vue中点击空白区域关闭某个div图层
<template> <div class="search" ref="searchMain"> <el-input v-mode ...
- [Java] 練習用對戰小遊戲
繼承.介面自我練習時所建立的小遊戲,一開始輸入名稱來建立對戰腳色,之後以輸入招式號碼的方式互相打鬥,最後沒血的一方就輸了. 人物種族 abstract public class Human { int ...
- xc笔记
2019-03-20正式开始准备 --言语理解与表达------------------------------------------------------- 分为 1.逻辑填空 2.片段阅读 ...