我不知道如何解决它。我只想了解它的工作原理以及应该替换的东西。
我已经尝试删除characters.
,但仍然无法正常工作。
import Foundation
var shrinking = String("hello")
repeat {
print(shrinking)
shrinking = String(shrinking.characters.dropLast())
}
while shrinking.characters.count > 0
我希望程序输出:
你好
地狱
hel
他
h
但它根本不起作用。
答案 0 :(得分:1)
如果您删除characters
,则您的代码应该可以正常工作,建议您创建一个新的Playground文件。顺便说一句,您可以简单地使用RangeReplaceableCollection
变异方法popLast
并在字符串不为空时进行迭代,以避免多次调用您的collection count属性:
var shrinking = "hello"
repeat {
print(shrinking)
shrinking.popLast()
} while !shrinking.isEmpty
这将打印
你好
地狱
hel
他
h
或使用removeLast
方法,但是它要求字符串不为空,因此您需要在关闭前检查字符串是否为空:
var shrinking = "hello"
while !shrinking.isEmpty {
print(shrinking)
shrinking.removeLast()
}