[英]check NSURLConnection variable is not nil
我是swift的新手,我想找到NSURLConnection变量是否为零。 我们在Objective c中使用了以下代码。
if (urlConnection) {
// Do somethings
}
但如果我在swift中同样相同,它会给我一些错误
“类型NSURLConnection剂量不符合协议'BooleanType'”
如果你的urlConnection输入了NSURLConnection?
然后你可以通过这样做来检查它
if (urlConnection != nil) {
// Do somethings
}
如果你的urlConnection它的类型为NSURLConnection
那么它永远不会为零
if let data = urlConnection{
//is not not nil
}
else{
//is nil
}
如果你只是想检查它是否为非零, urlConnection != nil
就可以了。 请注意,如果urlConnection
不是可选的,则无法将其检查为nil。 这是一件好事 。 如果在Swift中某些东西不是可选的,则意味着它不可能是nil,它必须有一个值,因此检查是多余的 - 不需要它,你可以自由地使用该值而无需检查它。
但是,您很可能想要检查它是否为零,如果不是,则使用它。 在这种情况下,您想要:
if let urlcon = urlConnection {
// urlcon will be the “unwrapped” non-nil value
}
else {
// if you want handling code for it it’s nil, it goes here
}
或者,如果您不关心处理值不是nil,则以下内容可能适用于您的用例:
urlConnection?.doSomething()
这测试urlConnection
是否为非零,如果是,则调用doSomething()
。 需要注意的一点是,从doSomething()
返回的任何值都将包含在一个可选项中,因为urlConnection
可能是nil,因此可能没有结果可供查看。
您可能偶尔会看到有人建议:
if urlConnection != nil {
urlConnection!.something()
}
如果您这样做,请不要接受此人的建议,并不惜一切代价避免使用他们的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.