作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下功能。它在 ViewDidLoad() 中运行。我正在尝试向 iPhone 应用程序添加一些错误处理以解决非连接问题。本质上,我希望程序检查 URLrequest 是否可以连接到其目标 URL 并将适当的文本打印到控制台。
我发现一些以前的问题解决了 obj C 中的问题,但我找不到任何关于如何在 Swift 中执行此操作的好信息。有帮助吗?
func loadURL(){
let requestURL = NSURL(string: path)
let request = NSURLRequest(URL: requestURL!)
if(/* ??? */){
webViewer.loadRequest(request)
println("Good connection")
}
else{
println("No connection")
}
}
最佳答案
这里有各种指向正确方向的指针(尤其是 David 的),但要理解的关键是,如果不实际执行请求并获得响应(甚至不能保证),就不可能确认与服务的连接您的下一个请求将会成功)。所以正确的答案是只异步执行请求并处理结果或错误。不要尝试检测连接然后加载请求。只需加载请求。如果您未连接,则会收到错误消息。
user2509601 的回答很有用,但它只告诉您设备将尝试发出请求。它不会告诉您请求会成功。所以它可以提供负面信息(甚至不值得尝试),但它实际上不能告诉你你已经连接了。在大多数情况下,检查可达性是浪费时间;您不妨尝试提出请求。 (可达性主要用于帮助您决定何时下一次尝试请求。)
关于ios - 检查 NSURLrequest 是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28440593/
我是一名优秀的程序员,十分优秀!