斯威夫特4:'距离(到:)'不可用

时间:2018-06-13 14:33:39

标签: swift

这在Swift 3.2中运行良好:

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

但是在Swift 4中它给出了标题中的错误。怎么办?

1 个答案:

答案 0 :(得分:1)

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

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

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