在执行零检查后得到“意外发现无”

时间:2017-04-14 18:21:30

标签: swift swift2

尽管检查为nil,但我得到fatal error: unexpectedly found nil while unwrapping an Optional value错误是在条件中捕获的(下面的第一行)

if (obj.prop != nil && obj.prop?.otherprop != nil) {
    anotherObj.yetanotherprop = (obj.prop?.otherprop as NSURL).absoluteString
}

我还尝试使用if let,如下所示(xcode突出显示第二个let,因为找到了意外的nil):

if let objA = obj.prop,
    let otherProp = objA.otherPROP {
    anotherObj.yetanotherprop = (otherProp as NSURL).absoluteString
}

为什么这些都不起作用?!

我从目标c中编写的第三方库获取源对象(上述两种情况中为obj)。我怀疑我在某种程度上检查是否有错?

1 个答案:

答案 0 :(得分:0)

所以在写这篇文章时我觉得我有点想通了。我不知道为什么第一个不起作用,但第二个起作用:

var x: any = document.getElementsByClassName("maps");