在处理一些 objC API 时,我收到了一个在 SwiftNSDictionary<NSString *, id> *>
中转换为[String : Any]
的,我用于NSAttributedString.addAttributes:range:的。
但是,此方法签名现在已随 Xcode 9 更改,现在需要一个[NSAttributedStringKey : Any]
.
let attr: [String : Any]? = OldPodModule.getMyAttributes()
// Cannot assign value of type '[String : Any]?' to type '[NSAttributedStringKey : Any]?'
let newAttr: [NSAttributedStringKey : Any]? = attr
if let newAttr = newAttr {
myAttributedString.addAttributes(newAttr, range: range)
}
如何将 a 转换[String : Any]
为 a [NSAttributedStringKey : Any]
?