以快速

时间:2015-06-20 12:28:19

标签: ios arrays swift file

我需要使用for循环来创建一个二维数组。到目前为止" + ="和.append没有产生任何结果。这是我的代码。请原谅匆忙变量命名。

let firstThing = contentsOfFile!.componentsSeparatedByString("\n")

var secondThing: [AnyObject] = []

for i in firstThing {
    let temp = i.componentsSeparatedByString("\"")
    secondThing.append(temp)
}

这个想法是它获取csv文件的内容,然后分隔各行。然后它尝试用引号分隔每一行。这就是出现问题的地方。我成功地将引号分隔数组(存储在temp中),但是,我无法使用for循环在一个数组(即2d数组)中创建这些数组。上面的代码生成错误。有没有人有如何构建这个二维数组的答案?

1 个答案:

答案 0 :(得分:1)

您可以使用更高阶函数来执行此操作...

let twoDimensionalArray = contentsOfFile!.componentsSeparatedByString("\n").map{
    $0.componentsSeparatedByString("\"")
}

map函数接受一个项目数组,并将每个项目映射到另一个类型。在这里我将第一个数组中的字符串映射到pf字符串的数组中,从而创建一个二维数组。

这将推断创建的数组类型,因此无需放置[[String]]

你去......

enter image description here