2016-02-23 75 views
0

我想獲得CGPDFDictionaryRef的所有鍵。到目前爲止,這是我的發現from stackoverflow如何獲取CGPDFDictionaryRef鍵

這裏是我的代碼(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 
    } 

但是我正在那

交流函數指針只能從基準來形成的誤差爲「FUNC」 或立即閉合

我還試圖使用這樣的閉合:

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

    printPDFKeys={ 
     key,ob,info in 

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

    } 

我仍然得到同樣的錯誤。我怎麼能去了解它

+0

嗨,我試圖用你的代碼,但它不能爲我工作。請您在此添加完整的答案,以便對未來的讀者有所幫助? – Hemang

回答

1

正確的閉包語法是:

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

非常感謝..它的工作 – user4237435

+0

你可以根據問題添加完整的答案嗎? – Hemang