为什么 string.append(character) 编译失败,错误"cannot assign value of type '()' to type 'String' "?



>我目前正在尝试对字符串进行编码。某些字符可以完全按原样复制,而其他字符必须进行百分比编码(这是针对 URL(。作为其中的一部分,我正在循环输入字符串并单独检查每个字符。如果该字符可以按原样使用,我只想按原样将该字符连接到输出字符串。string.append(character( 函数正在产生编译器错误"无法将类型'(('的值分配给类型'字符串'"。我不明白为什么会这样。

我尝试使用带有文字字符的附加,并产生了相同的错误。我的代码如下:

var encoded: String = ""
for character in input {
print("character: (character)")
if (character.isASCII) {
if (Reserved.contains(character)) {
encoded += encode(character)
} else if (UnReserved.contains(character)) {
encoded = encoded.append(character)
} else {
//TODO: Something
}
} else {
encoded += encode(character)
}
}

这一行是问题所在:

encoded = encoded.append(character)

您要将字符追加到encoded字符串变量。append返回 Void(也称为()(,并且您正在尝试将该 void 值分配给字符串变量。只需附加字符,无需重新分配变量:

encoded.append(character)

相关内容

最新更新