0

我有保存 in 字典的[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"]))")

阿斯达德

4

1 回答 1

0

MacOS 和 iOS 使用各种不同的类来表示字符串,它们都是兼容的。x 作为?无论 x 的具体类是什么,字符串都应该可以工作。除非你使用明确检查你不应该做的类的代码。

于 2020-09-19T09:23:25.183 回答