swift – 为什么我不能将字符串附加到NSURL?

前端之家收集整理的这篇文章主要介绍了swift – 为什么我不能将字符串附加到NSURL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将.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将字符串写入文件不起作用,因为缺少文件名.

原因(通过错误):

“The operation couldn’t be completed. Is a directory”

所以问题:为什么以下不起作用?

docURL.URLByAppendingPathComponent("/RicFile.txt")
@H_502_20@
URLByAppendingPathComponent:不会改变现有的NSURL,它会创建一个新的NSURL.从 documentation

URLByAppendingPathComponent: Returns a new URL made by appending a
path component to the original URL.

您需要将方法的返回值赋给某些东西.例如:

let directoryURL = manager.URLForDirectory(.DocumentDirectory,error:&error)
let docURL = directoryURL.URLByAppendingPathComponent("/RicFile.txt")

更好的方法是使用NSURL(string:String,relativeTo:NSURL):

let docURL = NSURL(string:"RicFile.txt",relativeTo:directoryURL)

猜你在找的Swift相关文章