arrays - SWIFT - 无法将类型 '[(String, [String : Any])]' 的值分配给类型 '[String : [String : Any]]'

标签 arrays swift string sorting

如何去掉第一个值上的“()”以便我可以分配给下一个变量?

这是我初始化字典的方式:

var imagedata: [String: [String: Any]] = [:]

我将数据加载到字典中,然后对其进行排序

imagedata = Array(imagedata).sort({ $0.0 < $1.0 })

但它给了我一个类型为“[(String, [String : Any])]”而不是“[String : [String : Any]]”的值,所以它不能被分配。

最佳答案

var imagedata: [String: [String: Any]] = [:]//图像数据是一个字典。

imagedata = Array(imagedata).sort({ $0.0 < $1.0 })在这里,您已将图像数据添加到 Array 并进行了排序。因为我们无法对字典进行排序。

sort({ $0.0 < $1.0 }) 的结果将是具有原始数组对象类型的数组。所以它返回 [(String, [String : Any])] .所以我们不能分配给 imagedata 变量。

实际上 Array(imagedata).sort({ $0.0 < $1.0 })什么也没做。因为数组只有一个对象。所以它返回相同的东西。

关于arrays - SWIFT - 无法将类型 '[(String, [String : Any])]' 的值分配给类型 '[String : [String : Any]]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39991570/

相关文章:

c++ - 这应该被称为对象切片的一些特殊情况吗?

c# - 如何从子文档数组中只检索一个特定元素?

java - 如何检查两个字符串是否近似相等?

C++/Arduino 将 PROGMEM 中存储的二维数组的指针传递给函数

javascript - 如何转换数组中的一串数字

swift - 无法从 AVURLAsset 为 AVPlayer 获取 HLS 视频(.m3u8 格式)的视频轨道?

swift - 如何在 Swift 的新结果类型中正确使用泛型类型?

ios - Swift Combine - 按给定顺序执行任务

javascript - 如何将 JavaScript 字符串中的部分文本加粗

javascript - 提取括号之间的字符串