NSURLConnection的initWithRequest何时返回nil

Yan*_*nol 18 iphone null nsurlconnection ios

有谁知道在哪些情况下初始化NSURLConnection返回nil而不是创建的连接.文档说这是可能的,但未能指明何时发生这种情况.

有问题的方法/消息:

[[NSURLConnection alloc] initWithRequest:request delegate:self];

-

根据NSURLConnection课程参考:

返回值:URL请求的URL连接.如果无法初始化连接,则返回nil.

URL加载系统编程指南说明如下:

如果NSURLConnection无法为请求创建连接,则initWithRequest:delegate:返回nil.

-

虽然这种方法可能会返回nil,但我无法想出触发这种情况的方案.我尝试过以下场景:

  • URLRequest使用空URL:connection:didFailWithError:使用"不支持的URL"作为错误调用委托方法.
  • URLRequest使用无效的url:connection:didFailWithError:使用"bad URL"作为错误调用delegate方法.
  • URLRequest使用不存在的url:connection:didFailWithError:使用"找不到具有指定主机名的服务器"调用委托方法.作为错误.
  • 有效请求但没有互联网:connection:didFailWithError:调用委托方法,"Internet连接似乎处于脱机状态".作为错误.
  • 零请求:导致崩溃.

initWithRequest方法NSURLConnection在每个场景中返回一个有效值(除了最后一个场景)并调用connection:didFailWithError:适当的错误.

有没有人能够找出导致nil返回的场景?

gre*_*eg 0

除了在内存不足的情况下进行之外,我会尝试上述所有方法。IE,我认为当内部 malloc 失败时会发生这种情况。