这在Swift 3.2中运行良好:
NSRange(location:myString.startIndex.distance(to: myIndex),length:myLength)
但是在Swift 4中它给出了标题中的错误。怎么办?
答案 0 :(得分:1)
在Swift 4中,切片字符串已经发生了很大变化。NSRange
通常不再是正确的工具,所以如何解决这个问题取决于周围代码的其余部分。也就是说,Swift 4中的等效代码是:
NSRange(location:myString.distance(from: myString.startIndex, to: myIndex),length:myLength)
请参阅String Manifesto了解Strings的工作方式。有关4.0中的更多具体更改,请参阅SE-0163和SE-0180。