首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从现有的UnsafePointer<CGRect>创建CGRect

如何从现有的UnsafePointer<CGRect>创建CGRect
EN

Stack Overflow用户
提问于 2016-08-11 13:20:46
回答 1查看 641关注 0票数 1

如何创建UnsafePointer?尝试让mediaBoxPtr = UnsafePointer(mediaBox)但是失败了

代码语言:javascript
复制
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)}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 13:33:01

你不必创建一个指针。简单地将mediaBox变量的地址传递为&的"inout参数“

代码语言:javascript
复制
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类型的可变变量、属性或下标引用的输入-输出表达式,它作为指向可变值地址的指针传递。
  • ..。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38897594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档