Как получить ключи 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)