gpt4 book ai didi

ios - “stringByAppendingPathComponent”不可用

转载 作者:IT王子 更新时间:2023-10-29 05:20:29 25 4
gpt4 key购买 nike

我遇到了错误

'stringByAppendingPathComponent' is unavailable: Use 'stringByAppendingPathComponent' on NSString instead.

当我尝试做的时候

let documentsFolder = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let databasePath = documentsFolder.stringByAppendingPathComponent("test.sqlite")

这显然对以前的人有用,但现在在 Xcode 7 beta 5 中对我不起作用。

This thread Apple 开发者论坛上的建议使用扩展或直接转换为 NSString。但是如果我将它转换为 NSString

let databasePath = documentsFolder.stringByAppendingPathComponent("test.sqlite" as NSString)

然后我得到错误

'NSString' is not implicitly convertible to 'String'...

它为我提供了通过插入 as String 来“修复它”的选项,这让我们回到了最初的错误。

stringByAppendingPathExtension 也会发生这种情况。

我该怎么办?

最佳答案

您可以创建 URL 而不是字符串路径。

let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
let fileURL = documentsURL?.appendingPathComponent("test.sqlite")

如果你绝对需要路径,那么你可以这样获取:

guard let path = fileURL?.path else {
return
}

print(path) // path will exist at this point

thread 中有一些讨论您提到 Apple 可能会故意引导人们使用 URL 而不是字符串路径。

另请参阅:

关于ios - “stringByAppendingPathComponent”不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120581/

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