几周前,我问如何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
最佳答案
如果您查看文档,您会发现,如错误所述,+stringWithContentsOfFile:
已弃用。原因是没有错误指示,也没有指定使用哪种编码。
你可以把第三行改成这样
var error = NSError?
let dico = NSString(contentsOfFile:path, usedEncoding:NSUTF8StringEncoding, error:&error)
注意 dico
可能是 nil
,在这种情况下,您应该检查 error
看看哪里出了问题。
(此外,在理想情况下,您应该优先使用基于 URL 的 API,而不是基于路径的 API。路径 API 尚未被弃用,但我怀疑从长远来看他们会跑的。)
关于ios - 用 txt 文件中的字符串填充数组 [XCode6 Beta1 中的解决方案不再有效],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674569/