几周前,我问过如何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
答案 0 :(得分:2)
如果您查看文档,您会看到,正如错误所述,+stringWithContentsOfFile:
已被弃用。原因是没有错误指示,也没有指定使用哪种编码。
您可以将第三行更改为
var error = NSError?
let dico = NSString(contentsOfFile:path, usedEncoding:NSUTF8StringEncoding, error:&error)
注意dico
可能是nil
,在这种情况下,您应该检查error
以查看问题所在。
(另外,在一个理想的世界中,你应该使用基于URL的API而不是基于路径的API。路径API不会被弃用尚未,但我怀疑是长期的他们会跑。)