gpt4 book ai didi

swift - 在 Swift 中使用可选展开进行映射

转载 作者:IT王子 更新时间:2023-10-29 05:20:20 26 4
gpt4 key购买 nike

假设我有以下 api:

func paths() -> [String?] {
return ["test", nil, "Two"]
}

我在需要 [String] 的方法中使用了它,因此我不得不使用简单的 map 函数将其解包。我目前正在做:

func cleanPaths() -> [String] {
return paths.map({$0 as! String})
}

在这里,强制转换会导致错误。所以从技术上讲,我需要解开 paths 数组中的字符串。我在做这件事时遇到了一些麻烦,而且似乎遇到了一些愚蠢的错误。有人可以帮我吗?

最佳答案

compactMap() 可以一步完成:

let paths:[String?] = ["test", nil, "Two"]

let nonOptionals = paths.compactMap{$0}

nonOptionals 现在将是一个包含 ["test", "Two"] 的字符串数组。

以前 flatMap() 是正确的解决方案,但在 Swift 4.1 中已被弃用

关于swift - 在 Swift 中使用可选展开进行映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31148644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com