将.txt文件组件附加到URL路径不起作用:
var error:NSError?
let manager = NSFileManager.defaultManager()
let docURL = manager.URLForDirectory(.DocumentDirectory, inDomain:.UserDomainMask, appropriateForURL:nil, create:true, error:&error)
docURL.URLByAppendingPathComponent("/RicFile.txt") <-- doesn't work
通过调试器:
file:///Users/Ric/Library/Developer/CoreSimulator/Devices/
<device id>/data/Containers/Data/Application/<app id>/Documents/
由于缺少文件名,因此使用 docURL 将字符串写入文件不起作用。
原因(通过错误):
因此,问题:为什么以下代码不起作用?
docURL.URLByAppendingPathComponent("/RicFile.txt")
最佳答案
URLByAppendingPathComponent:
不会改变现有的NSURL
,而是创建一个新的NSURL(string:String, relativeTo:NSURL)
。从documentation:
您需要将方法的返回值分配给某些对象。例如:
let directoryURL = manager.URLForDirectory(.DocumentDirectory, inDomain:.UserDomainMask, appropriateForURL:nil, create:true, error:&error)
let docURL = directoryURL.URLByAppendingPathComponent("/RicFile.txt")
更好的方法是使用ojit_code:
let docURL = NSURL(string:"RicFile.txt", relativeTo:directoryURL)
关于swift - 为什么不能将字符串附加到NSURL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25354971/