gpt4 book ai didi

swift - 以更优雅的方式从字典中获取值

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:47 25 4
gpt4 key购买 nike

我一直在玩 swift 并且被折磨得很厉害!考虑:

var myDict : Dictionary <String, String>

//DO SOME MAGIC TO POPULATE myDict with values
<magic being done>


//Now myDict has values. Let's parse out the values of myDict

//This doesn't work
let title : String = myDict["title"]

//This does
let title : String? myDict["title"]

这是因为不知道键是否在字典中。不过,我想说的是,“如果 title 键在字典中,给我那个值,否则,给我一个空字符串”

我可能会写:

var myTitle : String
if let title : String = myDict["title"] {
myTitle = title
} else {
myTitle = ""
}

我相信这行得通......但是......字典的每个键都有很多代码。在 swift 世界中,有人对应该如何编写它有任何想法吗?

研发

最佳答案

你可以写一个可选的扩展:

extension Optional {
/// Unwrap the value returning 'defaultValue' if the value is currently nil
func or(defaultValue: T) -> T {
switch(self) {
case .None:
return defaultValue
case .Some(let value):
return value
}
}
}

然后你可以这样做:

myDict["title"].or("")

这也适用于所有可选项。

注意:我启动了一个moduleOptional 上向 swift 添加类似 的通用助手。

关于swift - 以更优雅的方式从字典中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24112477/

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