用 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 的解决方案不再有效]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 unix 环境中填充超过 1024 个字符的文件?

用数组的内容填充表格视图不起作用

C语言求助:如何将.txt文件中的字符串存入字符数组?这个 .txt 文件是从命令行参数 btw 中读取的。

怎样用C语言读取txt文件中的二进制数据并转为一维数组

matlab怎样按列读取txt中的数据到数组啊

怎样用JAVA把 文件中的字符串 放到 一个数组中