gpt4 book ai didi

swift - 确定 Swift 字典是否不包含键并设置默认值

转载 作者:行者123 更新时间:2023-11-28 14:31:19 25 4
gpt4 key购买 nike

我有一个测验应用程序,用户可以在应用程序中选择答案或否。如果用户跳过没有答案的问题,我想为该问题添加字典 0 值。如果选择 A,我为 B 添加 1,添加 2,直到 E。在我的问题 1 中,key:1 -> 代表问题 1,value:1 -> 代表 A 答案。如果用户选择一个选项,我会添加字典。如果用户跳过没有任何答案,我没有添加答案。

 userAnswerDict = [(key: 1, value: 4), (key: 2, value: 5), (key: 4, value: 4), (key: 6, value: 4), (key: 7, value: 5), (key: 9, value: 2)

我的问题从这里开始。我想添加 for key = 3, key = 5, key = 8 default value = 0。我的问题总数是 20。我该怎么做?

最佳答案

您可以像下面的代码一样为答案创建结构并轻松管理它:

struct Answer {
var questionId: Int
var answerValue: Int?
}

let answer1 = Answer(questionId: 1, answerValue: 5)
let answer2 = Answer(questionId: 2, answerValue: nil)

let arrAnswers = [answer1, answer2]

如果你想用 0 替换 nil 值,那么你可以使用以下函数:

let arrNewAnswers = arrAnswers.flatMap { (answer) -> Answer in
if answer.answerValue == nil {
return Answer(questionId: answer.questionId, answerValue: 0)
}
return answer
}

输出:

第一个数组包含 nil 值

print(arrAnswers)

[Answer(questionId: 1, answerValue: Optional(5)), Answer(questionId: 2, answerValue: nil)]

第二个数组从 0 更新为 nil。

print(arrNewAnswers)

[Answer(questionId: 1, answerValue: Optional(5)), Answer(questionId: 2, answerValue: Optional(0))]

希望对您有所帮助。

关于swift - 确定 Swift 字典是否不包含键并设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233209/

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