访问值-Swift

访问值-Swift,swift,dictionary,Swift,Dictionary,您将获得类型为[String:String]的字典密码,它具有所有小写字母的值。crypt字典代表了一种对消息进行编码的方法。例如,如果crypt[h]=@和crypt[i]=!消息hi的编码版本将为@ 问题是,我必须编写代码,接受任何只包含小写字母和空格的字符串,并使用crypt字典对其进行编码。我尝试编写代码时失败了,所以我只使用了一条print语句 //printcrypt[h]!,地下室 如果你有任何想法想分享,请分享 谢谢这是否符合您的要求: let message = "hi" le

您将获得类型为[String:String]的字典密码,它具有所有小写字母的值。crypt字典代表了一种对消息进行编码的方法。例如,如果crypt[h]=@和crypt[i]=!消息hi的编码版本将为@

问题是,我必须编写代码,接受任何只包含小写字母和空格的字符串,并使用crypt字典对其进行编码。我尝试编写代码时失败了,所以我只使用了一条print语句 //printcrypt[h]!,地下室

如果你有任何想法想分享,请分享


谢谢

这是否符合您的要求:

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

如果您不熟悉它,映射一个字符串会遍历每个字符,对其执行某些操作,然后返回该字符串$在本例中,0表示第一个参数1/1,但为0索引。

正如Dopapp所建议的,map是最优雅的解决方案。如果你想看到一些步骤,你可以做很长的路

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

哦,是的,我对它完全不熟悉,我将搜索一些文档来了解它。谢谢你,你的回答很有帮助。这听起来像是一个CS家庭作业……我正在学习Swift,所以当我无法通过书本或视频,或者联系不到我的教授时。我接触到这个网站,这不是这个网站的目的吗?我并没有发布我的作业……我现在懂了一点,但你认为作为一个函数可以做吗?非常可能。您可以轻松地将消息作为参数传入,并使用crypt字典将其模块化,然后返回cryptedMessage。