首先,您不应该使用同步请求,而是使用异步请求并使用指示活动 不确定的进度指标 。
使用异步请求时,必须设置委托实现 委托方法 ,特别是:
-connectionDidFinishLoading:
-connection:didFailWithError:
来自文档:
除非NSURLConnection收到取消消息,否则代理将收到一个且只有一个 connectionDidFinishLoading: , 要么 connection:didFailWithError: 消息,但从不两者。此外,一旦发送了任一消息,代理将不再接收给定NSURLConnection的消息。
connectionDidFinishLoading:
connection:didFailWithError:
至于最后一个问题:
此外,此方法是否使用系统范围的代理设置?
是, NSURLConnection 自动使用它们。
NSURLConnection
您应该使用异步请求来处理代理和网络错误。这更有效率。 要添加额外的检查,您可以在通信之前在代码中添加可达性测试。你可以找到可达性测试代码 这里