首页 > 解决方案 > 在 Swift 中添加两个 [String : Int] 字典的值

问题描述

所以我正在尝试[String : Int]使用最新的 Swift 在 Xcode 中添加两个字典的值。我的代码如下所示。两个字典都有从q1到附加值的键q23。这就是随机数在 23 处停止的原因。密钥q1在此函数中没有用(这就是随机数从 2 开始的原因)。字典值是由另一个视图控制器在 segue 到这个 viewController 期间给出的,我没有手动分配它们。字典中的值不需要是可选的,因为它们被分配值以获取此视图控制器。

我已经在谷歌上搜索了一个小时,但我无法理解它们将应用于此的 reduce、combine 或 map 函数,并且当我只想添加时做如此复杂的事情似乎我忽略了一个更简单的方法。

var p1Pre:[String:Int]  = [“q1” : 1]

var p2Pre:[String:Int]  = [“q1” : 1]
var combPre:[String:Int]  = [“q1” : 0]

var pick = 0

// generates random number 2-23
func pickRandom(){
    pick = Int.random(in:2...23)
} 

func addPrefs(){
    // this is where i'm having trouble
    combPre[“q\(pick)] = p1Pre[“q\(pick)”] + p2Pre[“q\(pick)”]
    print(combPre[“q\(pick)”]
    // I get an error at the plus sign here
}

我正在尝试在两个字典(p1Prep2Pre)内的特定键处添加值,结果将存储在 combPre 中。我想构建一个函数,所以 ifp1Pre[“q2”] == 1p2Pre[“q2”] == 2, then combPre[“q2”] = 3。我在显示的加号处收到错误消息“binary operator “+” cannot be applied to two ‘Int?’ Operands"。我将如何进行这项工作?谢谢

标签: swift

解决方案



推荐阅读