Chirag Shah
Chirag Shah

Reputation: 3016

check NSURLConnection variable is not nil

I am new in swift and i want to find that NSURLConnection variable is nil or not. We used following code in Objective c.

   if (urlConnection) {
         // Do somethings
    }

But if i right same in swift it give me error like


" Type NSURLConnection dose not conform to protocol 'BooleanType'"

Upvotes: 0

Views: 400

Answers (3)

Airspeed Velocity
Airspeed Velocity

Reputation: 40965

If you just want to check if it’s non-nil, urlConnection != nil will do the trick. Note, if urlConnection is not an optional, you cannot check it for nil. This is a good thing. If something isn’t optional in Swift, it means it cannot possibly be nil, it must have a value, and therefore the check is redundant – there’s no need for it, you can freely use the value without needing to check it.

However, you most likely want to check if it’s nil, and if it isn’t, then use it. In which case, you want:

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
}

Alternatively, if you don’t care about handling the value not being nil, the following might work for your use case:

urlConnection?.doSomething()

This tests if urlConnection is non-nil, and if it is, calls doSomething(). The one thing to note is that any value you get back from doSomething() will be wrapped in an optional, because urlConnection might have been nil and therefore there might be no result to look at.

You might occasionally see someone suggesting:

if urlConnection != nil {
    urlConnection!.something()
}

If you do, take no advice from this person and avoid their code at all costs.

Upvotes: 0

Zell B.
Zell B.

Reputation: 10286

If your urlConnection its typed of NSURLConnection? then you can check it by doing this

if (urlConnection != nil) {
   // Do somethings
}

If your urlConnection its typed of NSURLConnection then its never nil

Upvotes: 0

IxPaka
IxPaka

Reputation: 2008

if let data = urlConnection{
    //is not not nil
}
else{
    //is nil
}

Upvotes: 0

Related Questions