加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么是Swift 3等效的NSURL.URLByAppendingPathComponent()?

发布时间:2020-12-14 05:57:02 所属栏目:百科 来源:网络整理
导读:我正在跟着 a basic tutorial在Swift建立一个简单的iOS应用程序。 它是用Swift 2.x编写的,我使用XCode 8 Beta和Swift 3。 本教程建议使用NSFileManager来查找数据目录。类名已经改变了,所以自动修复的Swift 3看起来像这样: static let DocumentsDirectory
我正在跟着 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类的参考(或者Swift 3接口到库中定义了URL类 – 我仍然不能完全理解命名),所以我可以自己研究这些未来?

从Xcode 8 beta 4起,它被命名为 appendingPathComponent(_:),不会抛出。
static let archiveURL = documentsDirectory.appendingPathComponent("meals")

另外作为Leo Dabus points out in the comments,您的documentsDirectory属性将需要更改以使用beta 4中的urls(for:in:)

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读