我对这个目标感到困惑。
了解
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)")
感谢帮助
答案 0 :(得分:3)
String
documentation告诉我们:
字符串是构成集合的一系列字符,例如“ Swift”。
因此,您可以使用map
将这些字符中的每一个转换为单独的字符串:
let string = "Hello, world"
let letters = string.map { (character: Character) -> String in
return String(character)
}
或更简洁地说:
let letters = string.map { String($0) }
答案 1 :(得分:-1)
我做到了。问题是我将var字母保留为空数组,并尝试向该数组添加字符。现在我意识到这是错误的。
func updateUI() {
let letters = currentGame.formattedWord
let mappedLetters = letters.map { String($0)}
/* for letter in currentGame.formattedWord {
letters.append(String(letter))
} */
谢谢!