Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Swift 3-在附加到数组时设置键_Arrays_Swift - Fatal编程技术网

Arrays Swift 3-在附加到数组时设置键

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] = [

我有一个数组,我在其中设置了创建的关键点。现在,在我看来,我根据ID(键)加载了更多的信息

我想动态地向这个数组添加更多颜色。如何在设置键的数组中插入新项?差不多

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]()