为什么世界上的Swift String操作如此复杂和令人厌烦?
我必须反向迭代一个String但忽略第一个char.现在可以这样做:
var firstTime = true
for i in textBefore.characters.reversed() {
if firstTime {
firstTime = false
} else {
if String(i).personalFunction() {
// something
} else {
// something else
}
}
}
Run Code Online (Sandbox Code Playgroud)
但实际上我只是想做一些事情:
textBefore = textBefore.characters.reversed()
for i in 1...textBefore.characters.count {
if textBefore.get(i).personalFunction() {
// something
} else {
// something else
}
}
Run Code Online (Sandbox Code Playgroud)
那么为什么我们不能把索引作为int.为什么textBefore.characters.reversed()不是String或只是让String具有反向函数.所有这些问题都让使用Swift中的Strings变得非常令人沮丧并让我们做了一些愚蠢的事情,比如将String转换为一个字符数组:S或类似我上面提出的解决方案的东西...而且我们不能在旧时尚......我只需要一些Swift大师就可以指出我的大脑正确的方向.
string.characters是一组人物.用于reversed()以相反的顺序访问元素,并dropFirst()跳过反向集合的初始元素:
let string = "ab"
for ch in string.characters.reversed().dropFirst() {
print(ch)
// `ch` is a Character. Use `String(ch)` if you need a String.
}
Run Code Online (Sandbox Code Playgroud)
输出:
b a
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |