我试图用我的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)
}
}
}
}
答案 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]) }