Как получить ключи CGPDFDictionaryRef

Я хотел бы получить все ключи CGPDFDictionaryRef. пока это то, что я нашел из stackru

Вот мой код в 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
     }

Однако я получаю сообщение об ошибке

указатель на функцию ac может быть сформирован только из ссылки на "func" или буквального замыкания

Я также попытался использовать Closure, как это:

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

    printPDFKeys={
        key,ob,info in

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

    }

Я все еще получаю ту же ошибку. Как я мог пойти об этом

1 ответ

Решение

Правильный синтаксис закрытия будет:

CGPDFDictionaryApplyFunction(myCatalog, { (key, object, info) -> Void in
// do something
}, nil)
Другие вопросы по тегам