質問のタイトルにあるように、CGPoint
をNSValues
に変換して、配列In Swiftに格納する方法を教えてください。
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]
let valuesArray = pointsArray as [NSValue]
スウィフト3
let pointObj = NSValue(cgPoint: CGPoint(x:9, y:9))
https://developer.Apple.com/reference/foundation/nsvalue/1624531-init
スウィフト4
let point = NSValue.init(cgPoint: mask.position)