2016-03-06 90 views
0

我正在試圖找到可以幫助我弄清楚如何使用嵌套數組並將它們傳遞給函數的引用。我的Google遊戲似乎很弱,我正走向preverbal兔子洞,並沒有找到我要找的東西。我們的想法是這個我想利用嵌套的循環,像這樣......Swift - 將嵌套數組傳遞給函數的最佳做法

var array = [[1,2,3],[4,5,6],[7,8,9]] 

我想這個嵌套數組傳遞給我想要的那麼內部數組轉換爲字符串,並打印出來,像這樣的功能。 ..
「123」
「456」
「789」

- 編輯 -
到目前爲止,試圖測試了這一點,我有以下...
VAR arrayOfInt = [[ 1,2,3],[4,5,6],[7,8,9]]

func convertArray(array: [Int]) -> String{ 
    var innerArrayToString = array[0] 

    for index in array[1...array.count]{ 
     print(String(index)) 
    } 
    return innerArrayToString 
} 

convertArray() 
+0

不要求引用,顯示你試過的代碼並解釋它出錯的地方 – Wain

回答

2

繼從this answer的建議,你可以試試下面的(提示是代碼中的註釋):

var multiArray = [[1,2,3],[4,5,6],[7,8,9]] 

// loop through your multiArray 
for array in multiArray { 

    // Turning an array of Int into String with a separator between numbers 
    // In your case its only "" because you don't want to have separator like a dash for example 
    let stringArray = array.flatMap({ String($0) }) 
    let stringRepresentationOfArray = stringArray.joinWithSeparator("") 

    print(stringRepresentationOfArray) 
} 

// Output 
// 123 
// 456 
// 789 
+0

我正在閱讀flatMap方法。我們沒有真正涉及它,我大部分都理解這個概念。所以這真的給了我一些東西來看看。謝謝! – rowenarrow

+0

太棒了,我可以幫你 – ronatory

0

你不需要知道數組的長度,僅僅是數據類型,以創建一個功能規格:

func processConversionList(list: [ [Int] ]) -> [String] 

我認爲,這僅僅是它遍歷包裝外陣列,然後調用真正的處理功能:

func processConversion(item: [Int]) -> String 
+0

我不太關注,但是想明白你的意思。 – rowenarrow

+0

你問的問題關於嵌套數組,但它似乎實際上,單個數組喲字符串轉換是真正的問題? – Wain