NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://google.com"]];
NSURLConnection * connect = [[NSURLConnection alloc] initWithRequest:req delegate:self];
[connect start];
这是同步还是异步? NSURLConnection默认为1 ??
答案 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