首页 > 解决方案 > 无法将类型“[String]”的值分配给类型“String?” 错误斯威夫特

问题描述

所以我知道很多人以前也问过类似的问题,但是在遵循这些解决方案后我仍然无法解决这个问题。我正在尝试从两个数组中生成一个随机颜色的汽车并将其存储在字典中。我的代码如下:

var colorTypeDictionary = [String:String]()
var colorArray = ["Red", "Black", "Silver", "Yellow", "Orange", "Blue", "Purple", "Pink", "White", "Gray", "Green"]
var carTypeArray = ["Ferarri", "Lamborghini", "Porsche", "Aston Martin", "Maserati"]
colorTypeDictionary[colorArray.randomElement()!] = [carTypeArray.randomElement()!]
print(colorTypeDictionary)

我不断收到错误消息 [carTypeArray.randomElement()!]。它说:无法将类型“[String]”的值分配给类型“String?”。

我尝试将该行转换为字符串,但无法使其正常工作。有谁知道为什么会这样?

谢谢!

标签: arraysswiftdictionary

解决方案


[carTypeArray.randomElement()!][String]您无法分配给 type 的字典值的类型String,因此请替换

colorTypeDictionary[colorArray.randomElement()!] = [carTypeArray.randomElement()!]

colorTypeDictionary[colorArray.randomElement()!] = carTypeArray.randomElement()!

推荐阅读