无法将’NSNull’(0x10aa1b600)类型的值转换为’NSString’(0x10b4dab48)
我的json有googleplus餐馆的链接,如果餐厅没有任何googleplus链接,它显示null但是我得到如上所述的错误。
if dict["googlepluslink"] != nil { self.googlepluslink.append((dict["googlepluslink"] as? String)!) } else { self.googlepluslink.append(("-" as? String)!) }
无法将’NSNull’(0x10aa1b600)类型的值转换为’NSString’(0x10b4dab48)
使用if let
或guard
语句检查dict["googlepluslink"]
是否为String然后根据你可以追加你的数据,如下所示
if let link = dict["googlepluslink"] as? String { self.googlepluslink.append(link) } else { self.googlepluslink.append("-") }
self.googlepluslink.append((dict["googlepluslink"] as? String)!)
这完全是古怪和自相矛盾的。
你从字典中取出一些东西。 结果是一个可选值,加上它可以是任何类的对象,例如NSNull。
然后使用as将其强制转换为String? 这意味着你得到一个可选的字符串,如果字典中没有任何内容或者某些东西无法转换为String,则不会崩溃!
然后你用! 如果您的可选String为nil, 则运算符将崩溃。 这一切都没有任何意义。