簡體   English   中英

如何快速轉換NSValue中的CGPoint?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM