String 在Swift中向字符串追加字符

String 在Swift中向字符串追加字符,string,swift,append,character,String,Swift,Append,Character,我试图使用“+=”将字符附加到字符串中,但实际上不起作用。 一旦我尝试使用append方法,它就可以工作了。我只是想知道为什么会这样。 编译器说“字符串与Unit8不相同” 20140818,苹果更新: 更新了“连接字符串和字符”部分,以反映字符串和字符值不能再与加法运算符(+)或加法赋值运算符(+=)组合的事实。这些运算符现在仅用于字符串值。使用字符串类型的append方法将单个字符值追加到字符串的末尾 要在Swift中将字符附加到字符串,可以执行以下类似操作: var myString: S

我试图使用“+=”将字符附加到字符串中,但实际上不起作用。 一旦我尝试使用append方法,它就可以工作了。我只是想知道为什么会这样。 编译器说“字符串与Unit8不相同”


20140818,苹果更新:

更新了“连接字符串和字符”部分,以反映字符串和字符值不能再与加法运算符(+)或加法赋值运算符(+=)组合的事实。这些运算符现在仅用于字符串值。使用字符串类型的append方法将单个字符值追加到字符串的末尾


要在Swift中将
字符
附加到
字符串
,可以执行以下类似操作:

var myString: String = "ab"
let myCharacter: Character = "c"
let myStringChar: String = "d"

myString += String(myCharacter) // abc
myString += myStringChar // abcd
更新版本

let puzzleInput = "great minds think alike"
var puzzleOutput = ""
for character in puzzleInput.characters {
  switch character {
  case "a", "e", "i", "o", "u", " ":
   continue
  default:
    puzzleOutput += String(character)
  }
}
print(puzzleOutput)
// prints "grtmndsthnklk"

谢谢。我试用了拼图输出+=“(字符)”。它可以工作。@Toshi puzzleOutput+=“(\character)”也应该可以工作。哦,是的,我是说puzzleOutput+=“(\character)”。无论如何谢谢你!仅供参考,如果您先将
character
a
String
设置为:
puzzleOutput+=String(character)
,它将起作用。
let puzzleInput = "great minds think alike"
var puzzleOutput = ""
for character in puzzleInput.characters {
  switch character {
  case "a", "e", "i", "o", "u", " ":
   continue
  default:
    puzzleOutput += String(character)
  }
}
print(puzzleOutput)
// prints "grtmndsthnklk"