swift - 如何将数据插入此字典 - Swift 4
问题描述
我需要将数据插入到这种类型的字典中
var dict : Dictionary = [Int: [(TimelinePoint, UIColor, String, String, String?, String?, String?)]]()
为了插入数据,我正在使用这种结构,
dict[dictionaryKey] = ([TimelinePoint(), performance.timelineColor, "12:30", performance.name, "asdf", "nil", "nil"] as? [(TimelinePoint, UIColor, String, String, String?, String?, String?)])
dictionaryKey = 1 (integer)
这不起作用,我没有收到任何错误,但字典是空的。
但是,这没有任何问题
let data:[Int: [(TimelinePoint, UIColor, String, String, String?, String?, String?)]] = [0:[(TimelinePoint(), UIColor.green, "12:30", "Lorem \n ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", "asdf", "asdf", "Sun")]
谁能帮帮我,问题出在哪里?
解决方案
你可以试试这个
dict[dictionaryKey] = ([(TimelinePoint(), performance.timelineColor, "12:30", performance.name, "asdf", "nil", "nil")] as? [(TimelinePoint, UIColor, String, String, String?, String?, String?)])
我认为您在第一种情况下缺少小括号“()”来包围您的值。您在第二种情况下这样做,因为它有效。
结果,您在第一种情况下的数据类型不正确。
这可能会暂时解决您的问题。但是,由于将元组用于这种复杂的数据类型,您将来会遇到麻烦。因此,请遵循 Swift 的建议并使用Struct
而不是Tuples
用于大型数据类型。
推荐阅读
- excel - EXCEL 中的 MDX CASE 语句
- .net - 具有特定用户定义时间的 Hangfire 计划作业
- c++ - 传递派生对象的智能指针向量 - 最好的解决方案是什么?
- laravel - 如何在流明中使用preferredLocale?
- javascript - mapbox:仅显示 1 组标记
- php - MySQL 选择查询获取错误记录
- symfony - 尝试仅加载当前用户的朋友时,我得到了朋友和所有其他用户
- python - 如何避免连接图形的分离部分
- jsf - 如何在托管 bean 中获取 UISelectMany 自定义组件值
- java - 如何重命名在构建过程中创建的文件夹?它一直回到原来的名字