如何在Swift中使用String(contentsOfFile:)?

时间:2018-10-05 15:48:16

标签: swift

编辑:我不认为这个问题是Read and write a String from text file的重复。我在这个问题中链接了那个确切的问题,解释说它不起作用!

我希望能够读取.txt应用中Xcode项目中包含的iOS文件。我有以下代码:

let bundle = Bundle.main
override func sceneDidLoad() {
        let path = bundle.path(forResource: "data", ofType: "txt")
        let string = try String(contentsOfFile: path!) else throw Error
        }

直到let string = ...为止的所有行都可以。但是,我在问题this one中找到的所有内容都无法读取data.txt文件,因为它们的语法不正确/过时。

如何阅读?

编辑:我有let string是这样的

do {
        let string = try String(contentsOfFile: path!)
        print(string) // prints the content of data.txt
    }
catch {
    throw Error
}

但是我仍然有两个错误:

抛出的表达式类型'Error.Protocol'不符合'Error'

未处理错误,因为未将封闭函数声明为“ throws”

如何解决错误?

1 个答案:

答案 0 :(得分:0)

您需要通过将throwable函数封装在fail块中来处理可能引发的错误。在do-catch块中,您不应引发错误,而应分析引发的错误并决定如何处理。

catch