Swift ';字符不可用';请直接使用字符串

Swift ';字符不可用';请直接使用字符串,swift,character,Swift,Character,我想不出怎么修理它。我只是想了解它是如何工作的,应该更换什么 我已经尝试删除字符。,但仍然不起作用 import Foundation var shrinking = String("hello") repeat { print(shrinking) shrinking = String(shrinking.characters.dropLast()) } while shrinking.characters.count > 0 我希望程序输出: 你好 地狱 hel 他

我想不出怎么修理它。我只是想了解它是如何工作的,应该更换什么

我已经尝试删除
字符。
,但仍然不起作用

import Foundation
var shrinking = String("hello")
repeat {
    print(shrinking)
    shrinking = String(shrinking.characters.dropLast())
}
while shrinking.characters.count > 0
我希望程序输出:

你好
地狱
hel

h


但是它根本不起作用。

如果你删除
字符,你的代码应该可以正常工作。我建议你创建一个新的游乐场文件。顺便说一句,您只需使用
rangereplacablecollection
mutating方法
popLast
并在字符串不为空时进行迭代,以避免多次调用collection count属性:

var shrinking = "hello"
repeat {
    print(shrinking)
    shrinking.popLast()
} while !shrinking.isEmpty
这会打印出来

你好

地狱

赫尔

h

或者使用
removeLast
方法,但它要求字符串不为空,因此您需要在关闭之前检查字符串是否为空:



“我已经尝试删除
字符。
,但仍然不起作用。”。。。这很有趣,因为当您删除这两个
字符
引用时,效果很好。与其告诉我们它“不起作用”,不如告诉我们它起了什么作用。
var shrinking = "hello"

while !shrinking.isEmpty {
    print(shrinking)
    shrinking.removeLast()
}