nsurlconnection默认是什么?同步还是异步?

时间:2015-04-06 11:53:20

标签: ios nsurlconnection

NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://google.com"]];
NSURLConnection * connect = [[NSURLConnection alloc] initWithRequest:req delegate:self];
[connect start];

这是同步还是异步? NSURLConnection默认为1 ??

3 个答案:

答案 0 :(得分:1)

当您以这种方式实例化时,您正在调用异步的,基于委托的实现。

注意,如果您致电initWithRequest:delegate:,则不应致电start。仅当您使用initWithRequest:delegate:startImmediately:为最终参数调用NO时才会使用此选项。没有startImmediately参数的再现会自动为您启动连接。

答案 1 :(得分:1)

NSURLConnection API可以是同步的,也可以是异步的,具体取决于您在NSURLSession API异步时的使用方式。

在上述情况下,它是异步的。

答案 2 :(得分:0)

这取决于您在NSURLConnection中调用的方法。但大多数方法都是异步相关的。除了sendSynchronousRequest之外:returnsResponse:error:

同步加载数据

+ sendSynchronousRequest:returningResponse:error:

异步加载数据

+ connectionWithRequest:delegate:
– initWithRequest:delegate:
– initWithRequest:delegate:startImmediately:
+ sendAsynchronousRequest:queue:completionHandler:
– start