swift 4 : 'distance(to:)' is unavailable

标签 swift

<分区>

这在 Swift 3.2 中运行良好:

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

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

最佳答案

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

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

参见 String Manifesto了解 Strings future 的工作方式。参见 SE-0163SE-0180了解 4.0 中的更多具体变化。

关于 swift 4 : 'distance(to:)' is unavailable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50839876/

相关文章:

ios - 在覆盖之前检查 Firebase 是否存在现有数据?

ios - 是否可以在 iOS swift 中增加 NSNumber 变量?

ios - 要求电子邮件文本字段具有 @ 字符

arrays - 从 Swift 中的数组向右泛型转换

ios - 无法从 NSTextAttachment 创建 NSMutableAttributedString

ios - 向左或向右滑动以加载带有 Collection View 单元高亮的 View Controller

xcode - WatchOS2 上的位置始终为零

ios - 如何在单元格、行和部分中构造不同的组件?

swift - Swift 中的代码重复

swift - 在另一个字符串中定位字符串?