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]
rápido 3
let pointObj = NSValue(cgPoint: CGPoint(x:9, y:9))
https://developer.apple.com/reference/foundation/nsvalue/1624531-init
swift 4
let point = NSValue.init(cgPoint: mask.position)