2015-11-04 90 views
1

我首先搜索了我正在寻找的内容,这是我一生中第一次在网上提出编码问题。我希望我做对了。swift中最通用的数据类型

我需要在swift上创建一个字面上任何东西的数组。 例如:

let myArr:[Any] = [4, somestruct1, somestruct2] 

- >能正常工作

但我还需要阵列的阵列,甚至没有指定阵列的某一尺寸,比如:

let myArr:[Any] = [4, [somestruct1, somestruct2], [5, [4.5, somestruct3]]] 

我认为[Any]将能够表示数组,但编译器抱怨这种语法。

我能做些什么来表示任何东西的集合?

回答

2

您的代码不会因为迅速的工作都找不到的类型[5,[4.5,SS()]]

struct ss {} // a structure 
let myArr1: [Any] = [4, [ss(), ss()], [5, [4.5, ss()]]] // Don't compile 

现在我们通知编译器阵列的类型时上下文是暧昧的:

let myArr2: [Any] = [4, [ss(), ss()], ([5, ([4.5, ss()] as [Any])] as [Any])] 
+0

谢谢你杰里米,我意识到现在我的问题是愚蠢的:D –