if try? bookmarkPlistURL.checkResourceIsReachable() ?? false {
....
}
And the IDE (Xcode) wrongly suggests me to change try? to try!, which I did
and my app crashed when `throws`. The only right approach is to change code
to
if (try? bookmarkPlistURL.checkResourceIsReachable()) ?? false {
Besides, if you chose to use an indicator, Xcode would kindly tell you the
`?? false` part would never run.
let foo = try? bookmarkPlistURL.checkResourceIsReachable() ?? false // Left
side of nil coalescing operator '??' has non-optional type 'Bool', so the
right side is never used
So the behavior is on purpose? I just want to learn if anyone can tell me
why?
Zhaoxin
···
On Thu, Aug 4, 2016 at 10:38 PM, J.E. Schotsman via swift-users < swift-users@swift.org> wrote:
I was surprised when I got a compiler error for this code:
if try? MyThrowingFunction() != nil {…} (MyThrowingFunction does not
return an optional value)
This compiles:
if (try? MyThrowingFunction) != nil {…} (Xcode 7.3.1)