如何将以下代码更新为新版本的swift:
self.areaCodeLael.text! = localNumber.substring(to: localNumber.index(localNumber.startIndex, offsetBy: 3))
我尝试过这篇文章,但我无法做到 How can I use String slicing subscripts in Swift 4?
我将原始代码调整为localNumber[..<3]
,但我得到了:
无法下标类型&#39;字符串&#39;索引类型为&#39; PartialRangeUpTo&#39;
答案 0 :(得分:18)
在这种情况下我会说localNumber.prefix(3)
。简短又甜蜜。
答案 1 :(得分:7)
您尝试使用localNumber[..<3]
的问题是您无法传递Int
作为范围。您需要传递String.Index
。
您的代码必须是:
let index = localNumber.index(localNumber.startIndex, offsetBy: 3)
self.areaCodeLael.text = localNumber[..<index]
另请注意,您不希望在!
之后使用text
运算符。