swift中的异构集合文字

Posted

技术标签:

【中文标题】swift中的异构集合文字【英文标题】:Heterogeneous collection literal in swift 【发布时间】:2018-10-18 21:26:07 【问题描述】:

我正在尝试按如下方式读取嵌套数组,但出现错误。

var inputArray = [1,[4,3],6,[5,[1,0]]] 

func nestedArray(inputArray :[Any])



错误:异构集合文字只能推断为 '[任何]';如果这是有意的 var,则添加显式类型注释 inputArray = [1,[4,3],6,[5,[1,0]]]

【问题讨论】:

错误告诉你如何解决这个问题。 Xcode 甚至提供插入as [Any] - 您只需点击“修复”按钮。 【参考方案1】:

你需要

var inputArray:[Any] = [1,[4,3],6,[5,[1,0]]] 

当您指定不同类型的元素 Int 、 Array 和嵌套 Array 时

【讨论】:

我怎样才能读取这个嵌套数组中的一个项目,比如迭代的第一个和第二个项目? 您需要 if else 或切换诸如 element as 之类的可转换选项的情况? Int 元素为? [Int] 元素为? [任何]分别 您能否举个例子说明一下,我正在尝试将这个嵌套数组展平为一个常规数组? 看这里***.com/questions/24465281/…

以上是关于swift中的异构集合文字的主要内容,如果未能解决你的问题,请参考以下文章

模型数据库中的异构类型

如何处理存储库模式中的异构数据源?

异构的概念?大数据量的异构处理?

本周小贴士#144:关联容器中的异构查找

本周小贴士#144:关联容器中的异构查找

深度学习的异构加速技术:螺狮壳里做道场