Arrays Swift 3-在附加到数组时设置键
我有一个数组,我在其中设置了创建的关键点。现在,在我看来,我根据ID(键)加载了更多的信息 我想动态地向这个数组添加更多颜色。如何在设置键的数组中插入新项?差不多Arrays Swift 3-在附加到数组时设置键,arrays,swift,Arrays,Swift,我有一个数组,我在其中设置了创建的关键点。现在,在我看来,我根据ID(键)加载了更多的信息 我想动态地向这个数组添加更多颜色。如何在设置键的数组中插入新项?差不多 colors["25252"] = UIColor(red:244/255, green:204/255, blue:204/255, alpha:1) 上面这一行行不通,只是为了说明我需要什么 谢谢你的帮助 更新:上面的代码就是一个例子。下面是真实代码: var placedBeacons : [BeaconStruct] = [
colors["25252"] = UIColor(red:244/255, green:204/255, blue:204/255, alpha:1)
上面这一行行不通,只是为了说明我需要什么
谢谢你的帮助
更新:上面的代码就是一个例子。下面是真实代码:
var placedBeacons : [BeaconStruct] = []
BeaconModel.fetchBeaconsFromSqlite(completionHandler: {
beacons in
for item in beacons{
self.placedBeacons["\(item.major):\(item.minor)"] = item
}
})
错误:
无法用String类型的索引为“[BeaconStruct]”类型的值下标
您编写的代码应该可以工作。我使用过这样的代码,并且能够成功地实现。我刚刚测试了你的代码,它对我有用。我在类文件中全局声明了colors变量,并且在view DOD load方法中添加了第二个代码,以便在colors数组中添加另一项。打印出来之后。我的输出显示了包含4项的数组的完整列表,数组计数的数量也返回4
请让我知道,你的场景的更多细节,这样我可以帮助你解决这个问题。但看起来应该行得通 以匹配密钥订阅
self.placedBeacons["\(item.major):\(item.minor)"] = item
您必须将placedBeacons
声明为字典而不是数组
var placedBeacons = [String:BeaconStruct]()
它要求
项
的类型为BeaconStruct
您没有数组,而是有字典。我看不出为什么这个任务不起作用;它会崩溃吗?或者不添加值?放置的数组类型是什么?好的,代码只是一个示例。我用真实代码更新了问题
var placedBeacons = [String:BeaconStruct]()