无法从捕获上下文的闭包形成C函数指针

时间:2017-05-30 11:49:57

标签: ios swift

问题不同,因为我想从闭包中取出 info 值。而现在,它是空的,因此我无法调用任何外部函数。这是我到目前为止所尝试的:

CGPDFOperatorTableSetCallback(operatorTableRef!, "BT") { (scanner, info) in
    if let info = info {
        let myObject = Unmanaged<ViewController>.fromOpaque(info).takeUnretainedValue()
        myObject.printinfo(info: info as AnyObject)
}
    }

func printinfo(info:AnyObject) -> Void {
    print("Printing:\n\(info)")
    print("------------------------------------------------------------")
}

我正在玩PDF来从中提取字符串。我应该实现一个调用块。好吧,除了我不能调用任何外部函数或者不能使用该块中的任何变量。

    CGPDFOperatorTableSetCallback(operatorTableRef!, "BT") { (scanner, info) in
        //I can't do anything here except this:
        print("Yes, I can print.")
        //hello() //or self.hello() //all cries.
}

func hello()->Void {
    //hello.
}

0 个答案:

没有答案