使用来自txt文件的字符串填充数组[来自XCode6 Beta1的解决方案不再有效]

时间:2014-07-10 10:46:19

标签: ios arrays swift xcode6

几周前,我问过如何Fill an array with strings from a txt file

已经给出了一些答案(有效),但自从我将Xcode 6更新为Beta 3后,他们再也无法工作了。

代码就是这个:

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

自Beta 3以来,关于NSString显示以下错误:

'init(contentsOfFile:)' is unavailable: APIs deprecated of iOS7 and earlier are unavailable in Swift

1 个答案:

答案 0 :(得分:2)

如果您查看文档,您会看到,正如错误所述,+stringWithContentsOfFile:已被弃用。原因是没有错误指示,也没有指定使用哪种编码。

您可以将第三行更改为

var error = NSError?
let dico = NSString(contentsOfFile:path, usedEncoding:NSUTF8StringEncoding, error:&error)

注意dico可能是nil,在这种情况下,您应该检查error以查看问题所在。

(另外,在一个理想的世界中,你应该使用基于URL的API而不是基于路径的API。路径API不会被弃用尚未,但我怀疑是长期的他们会跑。)