【问题标题】:Check if NSKeyedUnarchiver is returning nil检查 NSKeyedUnarchiver 是否返回 nil
【发布时间】:2015-01-12 19:34:20
【问题描述】:

我需要做一个基于天气变量已存档的 if 语句。我这样做如下:

if NSKeyedUnarchiver.unarchiveObjectWithData(encodedNotif) == nil {
}

但如果 'encodedNotif' 为 nil,我会得到:

fatal error: unexpectedly found nil while unwrapping an Optional value

错误。

那么我该怎么做呢?

【问题讨论】:

    标签: ios swift nskeyedarchiver


    【解决方案1】:

    你需要检查一下,简单来说:

    if endodedNotif != nil {
      if NSKeyedUnarchiver.unarchiveObjectWithData(encodedNotif) == nil {
      }
    }
    

    【讨论】:

    • 这不起作用,因为 encodedNotif 最初为 nil,并且在单击按钮时分配一个值,并且如果 encodedNotif 为 nil。
    • 您的代码失败,因为您尝试将 nil 指针传递给 unarchiver。因此出现错误消息。
    • @AlexCatchpole:你需要在调用unarchiveObjectWithData之前检查nil
    猜你喜欢
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    相关资源
    最近更新 更多