Ios7 从字典中获取任何对象
我在stackoverflow上发现了几个关于这个的问题,但没有一个能解决我的问题 我有一个Ios7 从字典中获取任何对象,ios7,swift,ios8,xcode6,Ios7,Swift,Ios8,Xcode6,我在stackoverflow上发现了几个关于这个的问题,但没有一个能解决我的问题 我有一个字典,里面填充了不同类型的对象(整数、字符串、数组)。 当我想基于键获取任何值时,唯一的方法是 let lTitle: AnyObject? = content["title"]; // content is a Dictionary mTitleLabel.text = lTitle as String; 对我来说,这看起来很可怕,但我试着从另一个stackoverflow的问题中得到
字典
,里面填充了不同类型的对象(整数、字符串、数组)。
当我想基于键获取任何值时,唯一的方法是
let lTitle: AnyObject? = content["title"]; // content is a Dictionary
mTitleLabel.text = lTitle as String;
对我来说,这看起来很可怕,但我试着从另一个stackoverflow的问题中得到一些提示,但都不起作用
有人知道从字典
获取任何对象的另一种较短方法吗
已更新
它将以任何对象的方式工作?作为字符串
试试这个
mTitleLabel.text = content["title"] as? NSString
是否希望字典中的值为AnyObject?Int、String和Array都符合Any,但不符合AnyObject
如果将基础类导入到项目中,SWIFT有时会将int转换为NStUnt,将字符串转换为NString,并将数组转换为NString,而不是引发错误。这可能就是为什么如果您想从任何对象转换到字符串,就必须执行多步强制转换,因为您必须通过NSString,然后桥接它
如果你把字典做成[String:Any]
类型,它会变得更干净
var content: Dictionary<String, Any> = ["title":"myTitle"]
let lTitle = content["title"] as String
var-content:Dictionary=[“title”:“myTitle”]
将lTitle=内容[“标题”]设为字符串
这很好用
mTitleLabel.text = content[ListCellContentKey.title]! as String;
不要忘记检查字典的键是否返回值,否则当您试图强制展开时,它将崩溃