Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSURLConnection connectionWithRequest:delegate和sendAsynchronousRequest:queue:completionHandler之间的主要区别是什么?_Ios_Iphone_Objective C - Fatal编程技术网

Ios NSURLConnection connectionWithRequest:delegate和sendAsynchronousRequest:queue:completionHandler之间的主要区别是什么?

Ios NSURLConnection connectionWithRequest:delegate和sendAsynchronousRequest:queue:completionHandler之间的主要区别是什么?,ios,iphone,objective-c,Ios,Iphone,Objective C,我想知道这两个NSURLConnection协议或方法(或它们实际被调用的任何东西)的区别 我对Objective-C编程非常陌生,我正在尝试创建一个从网站加载数据的iOS应用程序。我注意到在我观看/阅读的教程中,当他们使用connectionWithRequest时,他们有其他方法,我认为这些方法是connectionWithRequest正常工作所需的方法。其中一个教程是。这些方法是: - (void)connection:(NSURLConnection *)connection didR

我想知道这两个NSURLConnection协议或方法(或它们实际被调用的任何东西)的区别

我对Objective-C编程非常陌生,我正在尝试创建一个从网站加载数据的iOS应用程序。我注意到在我观看/阅读的教程中,当他们使用connectionWithRequest时,他们有其他方法,我认为这些方法是connectionWithRequest正常工作所需的方法。其中一个教程是。这些方法是:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
举两个例子。关于这一点,我还有另一个问题:当调用或使用NSURLConnection connectionWithRequest:delegate时,是否会自动调用这些方法


我提到的两个NSURLConnection协议之间的具体区别是什么?使用哪个更好?

我找到了一个很好的链接,让您了解NSURLConnection及其委托方法


主要区别在于不同类型的回调:

  • 方法
    -connectionWithRequest:delegate:
    使用委托,您必须实现
    didReceiveResponse
    didReceiveData
    和其他使其有用的方法。这是更复杂的,但允许您处理安全认证、进度跟踪和类似的事情

  • 方法
    +sendAsynchronousRequest:queue:completionHandler:
    使用块完成,与委派相比,它要容易得多。它处理接收响应和附加正文数据,并简单地给出结果

脚注:iOS 7引入了全新的
NSURLSessions
URL加载机制,可以替代
NSURLConnection