Swift' String.Type'没有名为' stringWithContentsOfFile'

时间:2014-10-15 07:20:55

标签: swift

我无法从Swift中的.text文件中读取文本字符串。

我可以设法使用以下代码编写文件

var writeError: NSError?
let theFileToBeWritten = theStringWillBeSaved.writeToFile(pathToTheFile, atomically: true, encoding: NSUTF8StringEncoding, error: &writeError);

但每当我尝试使用" String.stringWithContentsOfFile"读取文件时,我得到"' String.Type'没有名为' stringWithContentsOfFile'"的成员。 stringWithContentsOfFile也不会出现在自动完成中。

我正在使用Xcode 6.1 GM Seed 2。

我见过人们使用" stringWithContentsOfFile"在许多教程和堆栈溢出中读取文件中的文本,但为什么它对我不起作用?

3 个答案:

答案 0 :(得分:17)

尝试这样的事情:

var error:NSError?
let string = String(contentsOfFile: "/usr/temp.txt", encoding:NSUTF8StringEncoding, error: &error)
if let theError = error {
   print("\(theError.localizedDescription)")
}

Swift 2.2:

if let string = try? String(contentsOfFile: "/usr/temp.txt") {
  // Do something with string
}

答案 1 :(得分:4)

在swift中为String contentsOfFile更正语法是:

String(contentsOfFile: "String", encoding: "NSStringEncoding", error: "NSErrorPointer")

答案 2 :(得分:0)

你可以这样做

var error : NSError?
var myFileContent = String()
myFileContent = NSString.stringWithContentsOfFile("yourFilePath", encoding: NSUTF8StringEncoding, error: &error)
if let optionalError = error{
    println("\(optionalError.localizedDescription)")
}