arrays - 无法将类型“[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?”。
我尝试将该行转换为字符串,但无法使其正常工作。有谁知道为什么会这样?
谢谢!
解决方案
[carTypeArray.randomElement()!]
是[String]
您无法分配给 type 的字典值的类型String
,因此请替换
colorTypeDictionary[colorArray.randomElement()!] = [carTypeArray.randomElement()!]
和
colorTypeDictionary[colorArray.randomElement()!] = carTypeArray.randomElement()!
推荐阅读
- css - 如何将图像中的文本居中并将该图像定位在 css 网格单元格的顶部中心?
- python - 生成没有重复列的位向量数组
- javascript - 如何用 crypto.getRandomValues() 替换 Math.random() 并保持相同的结果?
- c# - RDL(报告定义语言)如何自动生成一张后的两张表
- amazon-web-services - AWS DynamoDB 读取新插入的记录
- c# - 在 MongoDB Driver C# 中更改列表的映射索引
- java - 我如何在后台线程中运行 onNavigationItemSelected 方法
- snmp - 试图从记录不充分的系统中获取 SNMP 数据
- android - 在导航菜单上实现 Clicklistners
- swift - 如何使用 SwiftUI 交替行?