我正在尝试在Swift中创建一个CGPath.我正在使用CGPathCreateWithRect(rect, transformPointer)
.
我如何UnsafePointer
从一个CGAffineTransform
?我试过这个:
let transform : CGAffineTransform = CGAffineTransformIdentity let transformPointer : UnsafePointer= UnsafePointer(transform)
我也试过这个:
let transform : CGAffineTransform = CGAffineTransformIdentity let transformPointer : UnsafePointer= &transform
但斯威夫特抱怨说'&' with non-inout argument of type...
.我也试过&transform
直接进入CGPathCreateWithRect
但停止时出现同样的错误.
当我transform
直接传入时,Swift"无法将类型'CGAffineTransform'的值转换为预期的参数类型'UnsafePointer'".
发生了什么,以及如何使用Swift 2.1?
我也试过直接传递和转换到CGPathCreateWithRect ...
你快到了.transform
需要是一个变量
才能将其作为inout参数传递给&
:
var transform = CGAffineTransformIdentity let path = CGPathCreateWithRect(CGRect(...), &transform)
有关更多信息,请参阅" 使用Swift with Cocoa和Objective-C"文档中的" 与C API交互 ".
在Swift 3中,这将是
var transform = CGAffineTransform.identity let path = CGPath(rect: rect, transform: &transform)
或者,对于身份变换,只是
let path = CGPath(rect: rect, transform: nil)