Arrays 用txt文件中的字符串填充数组

Arrays 用txt文件中的字符串填充数组,arrays,swift,Arrays,Swift,Data.txt包含以下内容: “猫” “狗” “鼠标” 我想用该文件中的字符串填充数组(dico[0]=“Cat”,dico[1]=“Dog”,aso) 我找到了这个,但是当我使用这个代码时: let bundle = NSBundle.mainBundle() let path = bundle.pathForResource("data", ofType: "txt") let dico = NSArray(contentsOfFile: path) println("\(dico[0]

Data.txt包含以下内容: “猫” “狗” “鼠标”

我想用该文件中的字符串填充数组(dico[0]=“Cat”,dico[1]=“Dog”,aso)

我找到了这个,但是当我使用这个代码时:

let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("data", ofType: "txt")
let dico = NSArray(contentsOfFile: path)

println("\(dico[0])")
println("\(dico.count)")
我得到的只是“零”和“0”

我猜我的文件中的数据没有按应有的方式编写,我使用的代码也不正确,但我不明白为什么

此外,当我使用这段代码时,它还可以:

    let bundle = NSBundle.mainBundle()
    let path = bundle.pathForResource("data", ofType: "txt")
    let dico = NSString(contentsOfFile: path)

    println("\(dico)")

问题是我不希望dico是字符串,我希望它是数组。

NSArray的
arrayWithContentsOfFile:
初始值设定项不适用于常规文本文件。它只适用于使用NSArray的
writeToFile:atomically:

假设您希望将文本文件中的单词拆分为一个数组,并假设每个单词之间都有一个空格,则可以执行以下操作:

let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("data", ofType: "txt")
let dico = NSString(contentsOfFile: path)

let components = dico.componentsSeparatedByString(" ")

println("\(components)")

您试图读取的文件必须使用
writeToFile:atomically:
方法创建。以下是文档中对它的描述:

aPath-指向包含数组表示的文件的路径 由writeToFile:atomically:方法生成


因此,您必须使用上述方法创建一个文件,或者将其作为字符串读取,然后使用例如
componentsSeparatedByString:
方法将其转换为数组。

这不是
arrayWithContentsOfFile
的工作方式

它需要一个文件的路径作为参数,该文件包含由
writeToFile:atomically:
方法生成的数组的字符串表示形式

出于您的目的,您可以使用第二种方法,通过对字符串调用
componentsSeparatedByString()
来补充

let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("data", ofType: "txt")
let dico = NSString(contentsOfFile: path).componentsSeparatedByString("\n")

我是新来的,所以我不能投票。但如果可以的话,我会的。你指出了我的错误并给了我一个解决办法。非常感谢。很高兴听到这个消息,您应该仍然能够接受答案:)这也将有助于提高您的声誉。这给了我“init(contentsOfFile:)不可用”,因为它不受欢迎。您应该改用init(contentsOfFile:encoding:error:)。@Piercy很高兴能提供帮助。另外,如果你认为这个答案解决了你的问题,请记住接受/投票。你也应该对你过去收到的解决你之前问题的答案做同样的处理。这会奖励回答者,给你一点声誉提升,并帮助社区中的其他成员找到一个好的答案。投票需要15个声誉,而我在这里是全新的。;)不过,请确保我能够在投票时获得支持。NSString(contentsOfFile:path)不再适用于SWIFT。这篇文章帮助我理解了从文本文件获取字符串数组时的错误处理: