Swift Userdefaults将字符串转换为__NSCFString

问题描述

我有一些代码将[String: Any]的字典保存在UserDefaults中。检索时,String更改为__NSCFString。我正在使用Mixpanel来跟踪事件并将此字典作为事件属性发送。现在的问题是__NSCFString不是有效的MixpanelType,因此Mixpanel放弃了我的字典。

问题:

  • 是否有一种方法可以获取使用UserDefaults中的词典保存的相同数据类型?
  • Mixpanel是否可以接受转换后的数据类型?

这是我正在使用的代码

var mixpanelProperties: [String: Any] {
    get { defaults.dictionary(forKey: "\(#function)") ?? [:] }
    set { defaults.set(newValue,forKey: "\(#function)") }
}

mixpanelProperties = ["a-key": "value for the key"]
let prop = mixpanelProperties
print("Type of: \(String(describing: prop["a-key"]))")

asdad

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)