无法调用类型的值

时间:2017-04-15 16:23:06

标签: swift

我试图用我的Point数组附加一些数据,虽然我得到了类型错误,如下所示。感谢任何帮助,谢谢!

for i in slew {
    var x = i[0]
    var y = i[1]
        pointsArray.append(Points.GetPoint(origin:Points.Point(x:x,y:y))) //Cannot invoke value of type 'Points.GetPoint.Type' with argument list '(origin: Points.Point)'

}


class Points: NSObject {
    struct Point {
        var x = Double(0.0)
        var y = Double(0.0)
    }

    struct GetPoint {
        var origin = Point()

        var point: Point {
            get {
                let x = origin.x
                let y = origin.y
                return Point(x:x, y:y)
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这就是代码的样子,不确定你是否想用GetPoints做一个工厂,但这不是一个快速的模式。

for i in slew {
    var x = i[0]
    var y = i[1]
    pointsArray.append(Points.Point(x:x,y:y)) 
}

class Points: NSObject {
    struct Point {
        var x = Double(0.0)
        var y = Double(0.0)
    }
}

为了让它变得更加漂亮,您可以使用CGPoint而不是自己的点,并将for制作成地图。

pointsArray = slew.map { CGPoint(x: $0[0], y: $0[1]) }