我的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"]
是否是字符串,然后根据该语句,您可以像下面一样附加数据
if let link = dict["googlepluslink"] as? String
{
self.googlepluslink.append(link)
}
else {
self.googlepluslink.append("-")
}
self.googlepluslink.append((dict["googlepluslink"] as? String)!)
这完全是奇怪的,也是自相矛盾的。
你从字典里拿出一些东西。结果是一个可选值,而且它可以是大约任何类的对象,例如 NSNull。
然后使用 as? 将其转换为字符串,这意味着您将获得一个可选字符串,如果字典不包含任何内容或无法转换为字符串的内容,则不会崩溃!
然后使用 ! 运算符,如果您的可选字符串为 nil,它将崩溃。这一切都没有任何意义。