Swift:将字典转换为带换行符的字符串

Swift:将字典转换为带换行符的字符串,swift,dictionary,swift2,Swift,Dictionary,Swift2,我有一个错误对象的字典,我想将errorMessage属性连接成一个字符串,并使用换行符作为字典中每个项目的分隔符。下面的代码完成了这项工作,但是我相信一定有一种更优雅的方式 var errorMessage = "" var count = 1 for (_, error) in validator.errors { errorMessage += error.errorMessage + "\n" if count < validator.errors.count{

我有一个错误对象的字典,我想将errorMessage属性连接成一个字符串,并使用换行符作为字典中每个项目的分隔符。下面的代码完成了这项工作,但是我相信一定有一种更优雅的方式

var errorMessage = ""
var count = 1
for (_, error) in validator.errors {
    errorMessage += error.errorMessage + "\n"
    if count < validator.errors.count{
        errorMessage +=  "\n"             
    }
    count++
}
var errorMessage=“”
变量计数=1
对于validator.errors中的(\u0,error){
errorMessage+=error.errorMessage+“\n”
如果计数
实现我想要做的事情的最佳方式是什么

let errorMessage = validator.errors.values.map({$0.errorMessage}).joinWithSeparator("\n")
应注意技巧(未检查编译器,可能有拼写错误,但 你应该明白这一点)

  • validator.errors.values
    给出所有字典值的(序列)
  • .map({$0.errorMessage})
    将每个值
    error
    映射到
    error.errorMessage
    ,结果是一个数组
  • .joinWithSeparator(“\n”)
    将数组元素与 插入换行符

谢谢,这让我走上了正确的道路,但给了我一个编译器错误。这就是最终的效果:让errorMessage=validator.errors.map({“($0.1.errorMessage)”})。joinWithSeparator(“\n”)对您来说合适吗?@ExoticChimp:您是否尝试了
validator.errors.values.map
?注意我后来添加的
值。但你的解决方案几乎完全相同,而且也是正确的。事实上,很抱歉你的解决方案也有效,我只是无法正确复制和粘贴!!