从Swift OSX文件中简单读取字符串



在OSX的游乐场(Xcode 7,Swift 2.1)中,这只会创建一个空字符串:

let fileString = "/Users/me/file.txt"
var text = try NSString( contentsOfFile: fileString, encoding: NSUTF8StringEncoding )

我做错了什么?

$ cat /Users/me/file.txt

在终端中确认该文件包含ASCII内容。

提前感谢!

基本上,游乐场是沙盒式的,无法访问文件系统。

要玩文件,你必须将它们添加到游乐场的资源文件夹中,并使用访问它们

NSBundle.mainBundle().pathForResource("file", ofType: "txt")

始终建议将try语句封装在do - catch块中并捕获错误。

更新:

例如

let url = NSBundle.mainBundle().URLForResource( "file", withExtension: "txt")!
do { 
  let text = try NSString( contentsOfURL: url, encoding: NSUTF8StringEncoding) 
} catch let errOpening as NSError { 
  print("Error!", errOpening) 
}

最新更新