首页 > 解决方案 > Swift 4:“距离(到:)”不可用

问题描述

这在 Swift 3.2 中运行良好:

NSRange(location:myString.startIndex.distance(to: myIndex),length:myLength)

但在 Swift 4 中,它给出了标题中的错误。做什么?

标签: swift

解决方案


在 Swift 4NSRange中切片字符串发生了很大变化。通常不再是正确的工具,因此如何解决这个问题取决于周围的其余代码。也就是说,Swift 4 中的等效代码是这样的:

NSRange(location:myString.distance(from: myString.startIndex, to: myIndex),length:myLength)

请参阅String Manifesto,了解 Strings 未来的工作方式。有关 4.0 中的更多具体更改,请参阅SE-0163SE-0180


推荐阅读