我的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)
答案 0 :(得分:14)
使用if let
或guard
语句检查dict["googlepluslink"]
是否为字符串,然后根据您可以附加您的数据,如下所示
if let link = dict["googlepluslink"] as? String
{
self.googlepluslink.append(link)
}
else {
self.googlepluslink.append("-")
}
答案 1 :(得分:0)
self.googlepluslink.append((dict["googlepluslink"] as? String)!)
这是完全奇怪和自相矛盾的。
你从字典中取出一些东西。结果是一个可选值,加上它可以是任何类的对象,例如NSNull。
然后使用as将其强制转换为String?这意味着你得到一个可选的字符串,如果字典中没有任何内容或者某些东西无法转换为字符串,则不会崩溃!
然后你用了!如果您的可选字符串为nil,将崩溃的运算符。这一切都没有任何意义。