Ios 任何对象都不能转换为字符串
下面的代码返回错误“AnyObject不能转换为字符串”: 如果我在“name[“name”]”旁边添加“as NSString”。然后我得到错误“type Int不确认为StringLiteralConvertible” 有什么想法吗?我正在从解析中提取数据。试试这个Ios 任何对象都不能转换为字符串,ios,uitableview,swift,Ios,Uitableview,Swift,下面的代码返回错误“AnyObject不能转换为字符串”: 如果我在“name[“name”]”旁边添加“as NSString”。然后我得到错误“type Int不确认为StringLiteralConvertible” 有什么想法吗?我正在从解析中提取数据。试试这个 cell.textlab?.text=name[“name”]作为字符串 希望有帮助 name[“name”]将返回类型为AnyObject?的值。它是可选的,因为它是字典 查找始终返回选项,因为密钥可能无效。你应该有条件地 将
cell.textlab?.text=name[“name”]作为字符串
希望有帮助 name[“name”]
将返回类型为AnyObject?
的值。它是可选的,因为它是字典
查找始终返回选项,因为密钥可能无效。你应该有条件地
将其强制转换为对象类型的类型NSString
,然后使用可选绑定(如果let
)
要在循环不返回nil
的情况下将其绑定到变量,请执行以下操作:
if let myname = name["name"] as? NSString {
cell.textLabel?.text = myname
}
或者,如果要在“name”不是有效键的情况下使用空字符串,则nil合并运算符?
非常方便:
cell.textLabel?.text = (name["name"] as? NSString) ?? ""
斯威夫特3
cell.textLabel?.text = name["name"] as! String?
这里有些混乱。如果name
是一个NSArray
,为什么要把它当作一个字典name[“name”]
?您可以使用Int
而不是字符串对数组进行索引。不幸的是,Xcode建议使用“as!”而不是“as?”,后者可以在guard语句中使用,如果让我们
cell.textLabel?.text = name["name"] as! String?