用 txt 文件中的字符串填充数组 [XCode6 Beta1 的解决方案不再有效]
Posted
技术标签:
【中文标题】用 txt 文件中的字符串填充数组 [XCode6 Beta1 的解决方案不再有效]【英文标题】:Fill an array with strings from a txt file [Solution from XCode6 Beta1 no longer works] 【发布时间】:2014-07-10 10:46:19 【问题描述】:几周前,我问如何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】:如果您查看文档,您会发现,正如错误所说,+stringWithContentsOfFile:
已被弃用。原因是没有错误提示,也没有指定使用哪种编码。
你可以把第三行改成类似
var error = NSError?
let dico = NSString(contentsOfFile:path, usedEncoding:NSUTF8StringEncoding, error:&error)
注意dico
可能是nil
,在这种情况下,您应该检查error
以查看问题所在。
(此外,在理想情况下,您应该优先使用基于 URL 的 API,而不是基于路径的 API。路径 API 尚未被弃用,但我怀疑在很长一段时间内跑他们会的。)
【讨论】:
以上是关于用 txt 文件中的字符串填充数组 [XCode6 Beta1 的解决方案不再有效]的主要内容,如果未能解决你的问题,请参考以下文章