【问题标题】:'characters is unavailable' please use string directly'字符不可用'请直接使用字符串
【发布时间】:2019-06-28 23:16:12
【问题描述】:

我不知道如何解决它。我只是想了解它是如何工作的以及应该替换什么。

我已经尝试删除characters.,但还是不行。

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

我预计程序会输出:

你好
地狱
赫尔

但它根本不起作用。

【问题讨论】:

  • “我已经尝试删除characters.,但还是不行。” ...这很有趣,因为当您删除这两个 characters 引用时,它可以正常工作。与其告诉我们它“不起作用”,不如告诉我们它做了什么。

标签: swift character


【解决方案1】:

如果您删除 characters,您的代码应该可以正常工作我建议您创建一个新的 Playground 文件。顺便说一句,您可以简单地使用 RangeReplaceableCollection 变异方法 popLast 并在您的字符串不为空时进行迭代,以避免多次调用您的集合计数属性:

var shrinking = "hello"
repeat {
    print(shrinking)
    shrinking.popLast()
} while !shrinking.isEmpty

这将打印出来

你好

地狱

嘿嘿

h

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


var shrinking = "hello"

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

【讨论】:

    猜你喜欢
    • 2018-03-10
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多