我是swift的新手,我想知道NSURLConnection变量是否为零。我们在Objective c中使用了以下代码。
if (urlConnection) {
// Do somethings
}
但是,如果我在swift中同样相同,它会给我一个像
这样的错误
"类型NSURLConnection剂量不符合方案 ' BooleanType'"
答案 0 :(得分:0)
如果您的urlConnection输入了NSURLConnection?
,那么您可以通过这样做来检查
if (urlConnection != nil) {
// Do somethings
}
如果你的urlConnection输入了NSURLConnection
,那么它永远不会为零
答案 1 :(得分:0)
if let data = urlConnection{
//is not not nil
}
else{
//is nil
}
答案 2 :(得分:0)
如果您只是想检查它是否为非零,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()
获得的任何值 back 都将包含在一个可选项中,因为urlConnection
可能是nil,因此可能没有结果看看。
您可能偶尔会看到有人建议:
if urlConnection != nil {
urlConnection!.something()
}
如果您这样做,请不要接受此人的建议,并不惜一切代价避免使用他们的代码。