Swift:字符串和路径

TL; DR: StringsAndPaths.playground

我看到多次弹出的一小段代码来自StackOverflow上的答案,该答案不能被否决。 此摘要是不推荐使用NSString上的方法且Swift无法使用的方法的结果。 该方法是stringByAppendingPathComponent ,虽然添加路径组件是很常见的方法,但新String类不再是一个选项。

要获得此功能应该怎么做? 一种解决方案可能是将字符串和路径字符简单地连接在一起,但是这样做会导致错误。 原因是不同的环境使用不同的字符作为路径分隔符。 例如,在Mac和Linux上,它是“ / ”,而在Windows上,它是“ \ ”。 我选择解决此问题的方法是访问GitHub上的Swift存储库并搜索此方法,然后我很快找到了它。 该功能在Swift中存在,但标记为不可用,并带有注释,说明应改用URL类。 每当我想找到我在Objective-C中反复使用过的方法时(我在Swift中找不到),我都会回到GitHub以相同的方式进行搜索。

现在,我们对如何进行这项工作有了一个提示。 除了使用NSString之外 ,还可以创建URL实例,并可以使用函数appendingPathComponent 。 不利的一面可能是有必要创建一个对象的新实例,这使得转换为NSString具有吸引力。 但是,当URL类已经做到这一点时, 字符串不应该负责处理路径的逻辑。 迁移到Swift的一个重要原因是对Unicode字符集的改进支持。 回到NSString放弃了所有的改进。 最好找到在纯Swift中前进的新方法。

GitHub Gist