“字符不可用”,请直接使用字符串

时间:2019-06-28 23:16:12

标签: swift character

我不知道如何解决它。我只想了解它的工作原理以及应该替换的东西。

我已经尝试删除characters.,但仍然无法正常工作。

import Foundation
var shrinking = String("hello")
repeat {
    print(shrinking)
    shrinking = String(shrinking.characters.dropLast())
}
while shrinking.characters.count > 0

我希望程序输出:

  

你好
  地狱
  hel
  他
  h

但它根本不起作用。

1 个答案:

答案 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()
}