在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)
}