【问题标题】:error: Could not cast value of type 'NSNull' (0x10e404918) to 'NSString' (0x10d5fac60). (lldb)错误:无法将“NSNull”(0x10e404918)类型的值转换为“NSString”(0x10d5fac60)。 (lldb)
【发布时间】:2017-10-30 10:02:44
【问题描述】:

我也遇到了同样的错误:

无法将“NSNull”(0x10e404918)类型的值转换为“NSString”(0x10d5fac60)。 (lldb)

我在这里使用了一个 tableview,我调用函数来使用模型类解析和获取 json 值,我正在存储获取的值。这是给出错误的代码它没有进一步解析 json 文件:

temp.Nameofngo = obj.object(forKey: "Nameofngo") as! String!

【问题讨论】:

  • 这不是选项 obj.object(forKey: "Nameofngo") 这就是你得到错误的原因,创建 json 对象可选然后尝试希望它可以工作

标签: swift


【解决方案1】:

null(Swift 中的NSNull)是一个有效的 JSON 类型,用作nil 的占位符。

只需使用可选的向下转换和 nil 合并运算符 即可在 null 情况下分配默认值。

temp.Nameofngo = obj["Nameofngo"] as? String ?? ""

如果temp.Nameofngo——顺便说一下,变量名应该以小写字母开头——是可选的,你甚至可以省略?? ""

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 2017-04-10
    • 2016-11-17
    • 2019-05-02
    • 1970-01-01
    • 2017-10-30
    • 2018-02-08
    • 2016-07-15
    • 1970-01-01
    相关资源
    最近更新 更多