我们如何在 swift 2.3 中将值附加到包含 3 个元素的字典中?
Posted
技术标签:
【中文标题】我们如何在 swift 2.3 中将值附加到包含 3 个元素的字典中?【英文标题】:How do we append values to dictionary containing 3 elements in swift 2.3? 【发布时间】:2017-02-13 11:58:40 【问题描述】:我正在尝试将值附加到我这样声明的字典中。
var setHomIconDict:[(iconImg: UIImage, Operator: String, oprCode: String, oprMerchCode:String)]!
我不确定它的字典。我正在快速学习,我在网上找到了一个有趣的代码。无论如何,我对如何将值附加到此感到困惑。我试过了
setHomIconDict.append((iconImg:img!, Operator: "Strin", oprCode: "Hello", oprMerchCode: "Huja"))
但我收到此错误:致命错误:在展开可选值时意外发现 nil。这是图片
谁能推荐一个合适的方法。
【问题讨论】:
为你需要的数据创建一个模型类。然后创建一个模型类的数组。将您的模型类对象添加到包含所有必需值的数组中。 【参考方案1】:setHomIconDict
不是Dictionary
,它是一个元组数组,你会遇到这个崩溃,因为你还没有初始化setHomIconDict
对象,你刚刚声明了它的类型。所以用它的声明初始化它。
var setHomIconDict:[(iconImg: UIImage, Operator: String, oprCode: String, oprMerchCode:String)] = []
注意:不是创建元组数组更好的解决方案是创建一个自定义模型Class
,其属性为set/access
,然后创建该自定义Class
对象的数组并使用它。
【讨论】:
初始化如下:= [] var setHomIconDict:[(iconImg: UIImage, Operator: String, oprCode: String, oprMerchCode:String)] = [] @hasan83 已编辑答案:)【参考方案2】:您最好创建一个结构来保存您的值。那么你的数组就是那个结构的数组。
struct homIcon
var iconImg: UIImage
var Operator: String
var oprCode: String
var oprMerchCode:String
var setHomIconArray:[homIcon] = []
let newHomIcon = homIcon(iconImg: img!, Operator: "Strin", oprCode: "Hello", oprMerchCode: "Huja")
setHomIconArray.append(newHomIcon)
【讨论】:
【参考方案3】:正如 Nirav 所说,您使用的语法创建了一个元组数组。如果您想要字典,请去掉括号。
您想使用以下语法定义键/值对:
var aDict = [key:value, key:value, key:value]
然后您可以使用以下方法添加新的键/值对:
aDict[newKey] = newValue
您的目标是创建和使用字典,还是您的目标是用户并理解您在网上找到的结构?
【讨论】:
以上是关于我们如何在 swift 2.3 中将值附加到包含 3 个元素的字典中?的主要内容,如果未能解决你的问题,请参考以下文章