如何获取CGPDFDictionaryRef键

我想获得一个CGPDFDictionaryRef的所有键。 到目前为止,这是我从stackoverflowfind的

这是我的代码在迅速:

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 } 

但是我收到一个错误

ac函数指针只能由对'func'或文字闭包的引用形成

我也尝试使用这样的闭包:

 var printPDFKeys: ( UnsafePointer<Int8>, CGPDFObjectRef, UnsafeMutablePointer<()> )-> Void printPDFKeys={ key,ob,info in NSLog("key = %s", key); } 

我仍然得到相同的错误。 我怎么能这样做呢

正确的闭包语法是:

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