Ios 在swift中将[String:Any]转换为[String:String]

Ios 在swift中将[String:Any]转换为[String:String],ios,swift,dictionary,casting,Ios,Swift,Dictionary,Casting,如何在Swift中将[String:Any]转换为[String:String]。我试过这样做,但没有用: for (key, value) in dictionary { dictionary[key] = value as! String } 在这里: 在这里: 这是一种安全的方法,转换后的字符串将只包含[String:String],非String Any将被删除: let converted = dictionary.compactMapValues { $0 as? Stri

如何在Swift中将
[String:Any]
转换为
[String:String]
。我试过这样做,但没有用:

for (key, value) in dictionary {
    dictionary[key] = value as! String
}
在这里:

在这里:


这是一种安全的方法,转换后的字符串将只包含[String:String],非String Any将被删除:

let converted = dictionary.compactMapValues { $0 as? String }

这是一种安全的方法,转换后的字符串将只包含[String:String],非String Any将被删除:

let converted = dictionary.compactMapValues { $0 as? String }

如果你真正想做的就是:

在Swift中将[String:Any]转换为[String:String]

如果您很高兴什么也没有得到,如果
any
s中的任何一个不是
String
s,那么您可以执行以下操作:

安全:

不安全:

let stringDictionary = dictionary as! [String: String]

如果你真正想做的就是:

在Swift中将[String:Any]转换为[String:String]

如果您很高兴什么也没有得到,如果
any
s中的任何一个不是
String
s,那么您可以执行以下操作:

安全:

不安全:

let stringDictionary = dictionary as! [String: String]

你能解释一下你的用例吗?为什么没有帮助?你能解释一下你必须从什么样的数据开始,所有的值都是String类型的还是可以混合的,如果是的话,如何处理非String类型的值。你能解释一下你的用例吗?为什么没有帮助?您能否解释一下您必须从哪种类型的数据开始,所有的值都是String类型的,或者可以混合使用,如果是,如何处理非String值。