ios swift cgpoint nsvalue

ios - ¿Cómo convertir CGPoint en NSValue en swift?



(5)

Exactamente como te imaginas:

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

Como dice el título de mi pregunta, ¿cómo puedo convertir CGPoint en NSValues para poder almacenarlos en la matriz de manera rápida ?

En objetivo-C podemos hacerlo así:

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

Pero, ¿alguien puede decirme que cómo puedo hacer esto rápidamente?

Gracias por adelantado.


Intenta algo como eso:

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


Si no está planeando usar la matriz en Objective-C, y puede mantenerla como una matriz rápida, entonces no necesita convertir el punto en un valor de NSVal, puede simplemente agregar el punto a la matriz directamente:

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]



swift 4

let point = NSValue.init(cgPoint: mask.position)