如何获取CGPDFDictionaryRef键

时间:2016-02-23 22:27:34

标签: ios objective-c swift pdf dictionary

我想获得CGPDFDictionaryRef的所有键。到目前为止,我发现了from stackoverflow

这是我在swift中的代码:

 func printPDFKeys(key: UnsafePointer<Int8>, ob: CGPDFObjectRef, info: UnsafeMutablePointer<()>) -> Void{

 NSLog("key = %s", key);
   //return (key, ob , info)
  }

然后像这样调用此函数。

     let myDoc = CGPDFDocumentCreateWithURL(url)
    if myDoc != nil {
    let myCatalog=CGPDFDocumentGetCatalog(myDoc)

       CGPDFDictionaryApplyFunction(myCatalog, printPDFKeys, nil);//Compiler error here
     }

但是我收到错误

  

c函数指针只能通过对“函数”的引用形成。   或文字封闭

我也试过像这样使用Closure:

var printPDFKeys: (  UnsafePointer<Int8>, CGPDFObjectRef,  UnsafeMutablePointer<()> )-> Void

    printPDFKeys={
        key,ob,info in

    NSLog("key = %s", key);

    }

我仍然遇到同样的错误。我该怎么办呢

1 个答案:

答案 0 :(得分:1)

正确的闭包语法是:

CGPDFDictionaryApplyFunction(myCatalog, { (key, object, info) -> Void in
// do something
}, nil)