>我目前正在尝试对字符串进行编码。某些字符可以完全按原样复制,而其他字符必须进行百分比编码(这是针对 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)