如何在Swift中转换NSValue中的CGPoint?

因为我的问题标题说如何将CGPoint转换成NSValues所以我可以存储到数组中,然后迅速

在Objective-C中,我们可以这样做:

  // CGPoint converted to NSValue CGPoint point = CGPointMake(9, 9); NSValue *pointObj = [NSValue valueWithCGPoint:point]; 

但有谁能告诉我,我该怎么办呢?

提前致谢。

尝试类似的东西:

 let point = CGPointMake(9, 9) var pointObj = NSValue(CGPoint: point) 

完全如你所想:

 let point = CGPoint(x: 9.0, y: 9.0) let pointObj = NSValue(CGPoint: point) let newPoint = pointObj.CGPointValue() 

如果您不打算在Objective-C中使用数组,并且可以将其保留为Swift数组,则不需要将该点转换为NSValue,只需将该点直接添加到数组中即可:

 let point1 = CGPoint(x: 9.0, y: 9.0) let point2 = CGPoint(x: 10.0, y: 10.0) let pointArray = [point1, point2] // pointArray is inferred to be of type [CGPoint] 

迅速3

 let pointObj = NSValue(cgPoint: CGPoint(x:9, y:9)) 

https://developer.apple.com/reference/foundation/nsvalue/1624531-init