访问值 - Swift

时间:2018-03-30 18:20:30

标签: swift dictionary

您将获得一个[String:String]类型的字典crypt,其中包含所有小写字母的值。 crypt字典表示对消息进行编码的方式。例如,如果crypt [“h”] =“@”和crypt [“i”] =“!”消息“hi”的编码版本将是“@!”。

问题是我必须编写代码,该代码将包含仅包含小写字母和空格的任何字符串,并使用crypt字典对其进行编码。我成功地尝试编写代码失败了所以我最终只使用了一个print语句 //打印(隐窝[ “H”]!隐窝[ “i” 的]!)。

如果您有任何想法想分享,请这样做。

谢谢

2 个答案:

答案 0 :(得分:1)

这是否符合您的要求:

let message = "hi"
let encryptedMessage = message.map { crypt[String($0)]! }.joined()

如果你不熟悉它,map ping一个字符串遍历每个字符,对它做一些事情,然后返回该字符串。 $0指的是第一个参数(在这种情况下,#1为1,但是0索引)。

答案 1 :(得分:0)

正如Dopapp所说,地图是最优雅的解决方案。如果你想看到一些突破的步骤,你可以做很长的路。

var message = "hi"
var crytpedMessage = ""
for char in message {
    let newChar = crypt[String(char)]
    cryptedMessage.append(newChar)
}