swift - Swift 4:“距离(到:)”不可用
问题描述
这在 Swift 3.2 中运行良好:
NSRange(location:myString.startIndex.distance(to: myIndex),length:myLength)
但在 Swift 4 中,它给出了标题中的错误。做什么?
解决方案
在 Swift 4NSRange
中切片字符串发生了很大变化。通常不再是正确的工具,因此如何解决这个问题取决于周围的其余代码。也就是说,Swift 4 中的等效代码是这样的:
NSRange(location:myString.distance(from: myString.startIndex, to: myIndex),length:myLength)
请参阅String Manifesto,了解 Strings 未来的工作方式。有关 4.0 中的更多具体更改,请参阅SE-0163和SE-0180。
推荐阅读
- c - 消息不会在服务器端打印 - 套接字
- powershell - Windows PowerShell 当前代码页不断变化
- macros - Clang 编译器错误:预处理器表达式开头的标记无效
- android - ActionBar 菜单 改变图标位置
- r - r ncdf4 无法从 netcdf 读取字符变量
- javascript - React Native - 为什么在数组中使用 && 运算符?
- objective-c - Xamarin.iOS。上诉。NSInvalidArgumentException 原因:-[APDImage imageUrl]
- netsuite - SuiteScript 自定义细分权限
- ios - 了解自动更新订阅的服务器通知
- python - Keras LSTM 模型的 batch_input_shape