在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内容。
提前致谢!
答案 0 :(得分:1)
基本上,Playground是沙盒的,无法访问文件系统。
要播放文件,您必须将它们添加到Playground的Resources文件夹中,然后使用
访问它们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)
}