Swift 嵌套字典奇怪的行为

Swift 嵌套字典奇怪的行为,swift,Swift,我想画一幅人物图 代码: class figures { var maps : [NSDictionary] init() { self.maps = [ [ "map" : [ [ "x" : -0.5, "y" : -0.5] ], "color" : UIColor.redColor()

我想画一幅人物图

代码:

class figures {
    var maps : [NSDictionary]
    init() {
        self.maps = [
            [
                "map" : [
                    [ "x" : -0.5, "y" : -0.5]
                ],
                "color" : UIColor.redColor()
            ],
            [
                "map" : [
                    [ "x" : 0, "y" : 0],  [ "x" : 0, "y" : -1],  [ "x" : -1, "y" : 0],  [ "x" : -1, "y" : -1]
                ],
                "color" : UIColor.blueColor()
            ],
            [
                "map" : [
                    [ "x" : 0, "y" : -0.5], [ "x" : -1, "y" : -0.5]
                ],
                "color" : UIColor.yellowColor()
            ]
        ]
    }
}
此代码有效,但我想在此字典中再添加一个数字,如:

        [
            "map" : [
                [ "x" : -1, "y" : -0.5], [ "x" : 0.5, "y" : -0.5], [ "x" : -0.5, "y" : -0.5]
            ],
            "color" : UIColor.cyanColor()
        ]
现在我得到了以下错误:

Could not find an overload for '-' that accepts the supplied arguments
但如果将上一个dict中x的-0.5替换为0.5,则再次有效

 [
            "map" : [
                [ "x" : -1, "y" : -0.5], [ "x" : 0.5, "y" : -0.5], [ "x" : 0.5, "y" : -0.5]
            ],
            "color" : UIColor.cyanColor()
        ]

发生了什么事?任何有帮助的人

swift编译器都知道类似这样的大型语句存在问题。更好地逐步构建阵列:

self.maps.append([
    "map" : [
                [ "x" : -0.5, "y" : -0.5]
            ],
            "color" : UIColor.redColor()
])

self.maps.append([
    "map" : [
                [ "x" : 0, "y" : 0],  [ "x" : 0, "y" : -1],  [ "x" : -1, "y" : 0],  [ "x" : -1, "y" : -1]
            ],
            "color" : UIColor.blueColor()
])

...

请显示出现错误的代码,因为您描述的图形可能会插入到许多地方。错误出现在self.map声明中。显示分配给self.map的所有文字。
self.maps
。愚蠢的问题:您没有错过新map元素之前的分隔逗号吗?这没有帮助。即使我将var q=[“map”:[[“x”:-1,“y”:-0.5],“x”:0.5,“y”:-0.5],“x”:-0.5,“y”:-0.5],“color”:UIColor.cyanColor()}也会抛出同样的错误