gpt4 book ai didi

Swift 获取文档目录返回空字符串

转载 作者:行者123 更新时间:2023-11-28 05:33:30 30 4
gpt4 key购买 nike

根据 How to find NSDocumentDirectory in swift?我写了下一个代码:

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 中执行此命令。

enter image description here

但是,它在 Playground 上有效;它不适用于我创建的任何项目

let docdir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String + "Test.txt"

返回正确的路径,wtf?

最佳答案

我查看了 NSSearchPathForDirectoriesInDomains 的文档,它说,

You should consider using the NSFileManager methods URLsForDirectory:inDomains: and URLForDirectory:inDomain:appropriateForURL:create:error:. which return URLs, which are the preferred format.

以下完美运行:

    let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
println(urls[0])

就是说,您的代码失败了,因为 NSSearchPathForDirectoriesInDomains 返回的数组中的项目不是字符串。如果您想保留原始代码,只需将 as String 更改为 as NSString

关于Swift 获取文档目录返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26450003/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com