如何创建UnsafePointer?尝试让mediaBoxPtr = UnsafePointer(mediaBox)但是失败了
func PDFImageData(filter: QuartzFilter?) -> NSData? {
let pdfData = NSMutableData()
let consumer = CGDataConsumerCreateWithCFData(pdfData);
var mediaBox = CGRect(x: 0, y: 0, width: bounds.size.width, height: bounds.size.height)
let mediaBoxPtr : UnsafePointer<CGRect> = nil //???? I need CGRect(x:0, y:0, bounds.size.width, bounds.size.height)
if let pdfContext = CGPDFContextCreate(consumer, mediaBoxPtr, nil) {
filter?.applyToContext(pdfContext)}发布于 2016-08-11 13:33:01
你不必创建一个指针。简单地将mediaBox变量的地址传递为&的"inout参数“
var mediaBox = CGRect(x: 0, y: 0, width: bounds.size.width, height: bounds.size.height)
if let pdfContext = CGPDFContextCreate(consumer, &mediaBox, nil) {
// ...
}有关更多信息和示例,请参见“与C API交互”
可变指针 当一个函数被声明为接受
UnsafeMutablePointer<Type>参数时,它可以接受以下任何一个:
Type类型的可变变量、属性或下标引用的输入-输出表达式,它作为指向可变值地址的指针传递。https://stackoverflow.com/questions/38897594
复制相似问题