![](/img/trans.png)
[英]Is there a way to expose an NSArray<NSValue> of CGPoint as [CGPoint] to Swift?
[英]How to convert CGPoint in NSValue in swift?
正如我的問題標題所述,如何將CGPoint
轉換為NSValues
以便然后將其存儲到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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.