我对这个目标很执着。
了解
map
方法,并使用它来代替将字符数组转换为updateUI()
中字符串数组的循环。
我已经阅读了有关map
的文档和主题,但我的所有尝试都没有奏效。
//change loop below to map method
for letter in currentGame.formattedWord {
letters.append(String(letter))
}
let wordWithSpacing = letters.joined(separator: " ")
correctWordLabel.text = wordWithSpacing
scoreLabel.text = "Wins: (totalWins), Losses: (totalLosses)"
treeImageView.image = UIImage(named: "Tree (currentGame.incorrectMovesRemaining)")
感谢的帮助
String
文档告诉我们:
字符串是一系列字符,如"Swift",形成一个集合。
因此,您可以使用map
将这些字符中的每一个转换为单独的字符串:
let string = "Hello, world"
let letters = string.map { (character: Character) -> String in
return String(character)
}
或者,更简洁地说:
let letters = string.map { String($0) }
我做到了。问题是我把var字母作为一个空数组,并试图向这个数组添加字符。现在我意识到这是错误的。
func updateUI() {
let letters = currentGame.formattedWord
let mappedLetters = letters.map { String($0)}
/* for letter in currentGame.formattedWord {
letters.append(String(letter))
} */
谢谢大家!