【问题标题】:Swift: Convert Dictionary to String with Line BreaksSwift:使用换行符将字典转换为字符串
【发布时间】:2015-11-15 19:26:19
【问题描述】:

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

var errorMessage = ""
var count = 1
for (_, error) in validator.errors {
    errorMessage += error.errorMessage + "\n"
    if count < validator.errors.count{
        errorMessage +=  "\n"             
    }
    count++
}

实现我想要做的最好的方法是什么?

【问题讨论】:

    标签: swift dictionary swift2


    【解决方案1】:

    类似

    let errorMessage = validator.errors.values.map({$0.errorMessage}).joinWithSeparator("\n")
    

    应该是诀窍(不是编译器检查,可能有错别字,但 你应该明白)。

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

    【讨论】:

    • 谢谢,这让我走上了正确的道路,但出现了编译器错误。这最终奏效了: let errorMessage = validator.errors.map({"($0.1.errorMessage)"}).joinWithSeparator("\n") 你觉得这样对吗?
    • @ExoticChimp:你试过validator.errors.values.map吗?请注意我稍后添加的values。但是您的解决方案几乎是相同的,也是正确的。
    • 很抱歉您的解决方案也有效,我只是无法正确复制和粘贴!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多