This code worked just fine in Swift 2.3 and I don't understand why I have to unwrap TestClass
to check if number is bigger than 4. This is whole point of chaining optionals, to save additional call.
Now to make this work, I have to check if testClass != nil
(or use implicit unwrap with if let
statement) and then check count.
Is this really the only way?
import UIKit
class testClass
{
var optionalInt:Int?
}
var test:testClass?
if test?.optionalInt > 4
{
}
It's not a bug. It is, alas, intentional. Implicit unwrapping of optionals in comparisons (>
) has been removed from the language.
So, the problem now is that what's on the left side of the >
is an Optional, and you can no longer compare that directly to 4
. You have to unwrap it and get an Int, one way or another.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With