2016-03-06 84 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