gpt4 book ai didi

swift - NSURL.URLByAppendingPathComponent() 的 Swift 3 等价物是什么?

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

我正在关注 a basic tutorial关于在 Swift 中构建一个简单的 iOS 应用程序。

它是用 Swift 2.x 编写的,我使用 XCode 8 Beta 和 Swift 3。

本教程建议使用 NSFileManager 查找数据目录。类名已更改,因此自动修复的 Swift 3 看起来像这样:

static let DocumentsDirectory = FileManager().urlsForDirectory(.documentDirectory, inDomains:.userDomainMask).first!
static let ArchiveURL = DocumentsDirectory.URLByAppendingPathComponent("meals")

但是,Xcode 现在会提示

Value of type 'URL' has no member 'URLByAddingPathComponent'

我现在无法找出调用的方法是什么。

NSURL Class Reference不包含任何关于如何从 Swift 3 解决它的提示

  • 新方法名称是什么?

  • 我必须去哪里才能找到 Swift 3 的完整类引用(或者,URL 类在其中定义的库的 Swift 3 接口(interface) - 我仍然不知道完全理解命名法)以便我以后自己研究这些?

最佳答案

从 Xcode 8 beta 4 开始,它被命名为 appendingPathComponent(_:) , 并且不会抛出。

static let archiveURL = documentsDirectory.appendingPathComponent("meals")

也为 Leo Dabus points out in the comments ,您的 documentsDirectory 属性需要更改才能使用 urls(for:in:)在测试版 4 中:

static let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]

(请注意,我已根据 Swift API design guidelines 将您的属性名称设为 lowerCamelCase。我还建议使用 FileManager.default,而不是创建一个新实例。)

可以看看Apple's latest API reference guide查看 Swift 3 中发生的 API 命名更改。

关于swift - NSURL.URLByAppendingPathComponent() 的 Swift 3 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38812240/

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