Swift get Documents目录返回空字符串
根据我写的下一个代码:Swift get Documents目录返回空字符串,swift,Swift,根据我写的下一个代码: let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String let files = NSFileManager().enumeratorAtPath(documentsPath) var myString:String = "/" while let file: AnyObject = files?.nextO
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let files = NSFileManager().enumeratorAtPath(documentsPath)
var myString:String = "/"
while let file: AnyObject = files?.nextObject() {
myString += (file as String + "/")
}
println(myString)
但是,实际上问题是,当我调试程序时,在执行NSSearchPathForDirectoriesInDomains
命令后,documentsPath等于(String)“。此外,我尝试在MainViewController中执行此操作,而不是在TableViewController中执行此命令
然而,它在操场上工作;
它不适用于我创建的任何项目
let docdir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String + "Test.txt"
返回正确的路径,wtf?我在文档中查找了
你应该考虑使用NSF文件方法 URLsForDirectory:inDomains:和 URLForDirectory:inDomain:APPLICATEFORURL:create:错误:。哪个回报 URL,这是首选格式
以下几点非常有效: let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
println(urls[0])
也就是说,您的代码失败了,因为NSSearchPathForDirectoriesInDomains返回的数组中的项不是字符串。如果您想保留原始代码,只需将
更改为String
,将更改为NSString
,这可能是Apple SDK中的一个bugNSSearchPathForDirectoriesInDomains
正在返回一个NSPathStore2
对象数组,这些对象可以强制转换为NSStrings
,但不能转换为Strings
。