2015-11-04 88 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 –