斯威夫特的CTCallCenter

T.A*_*shi 4 ios swift ctcallcenter

我正在尝试在Swift中使用CTCallCenter,但它始终显示错误.

我想它可能导致如何使用闭包但实际上我并不熟悉它.

有人有想法解决这个问题吗?

这是我的代码

import CoreTelephony

class ViewController: UIViewController{

    var callCenter:CTCallCenter = CTCallCenter()

    override func viewDidLoad() {

           callCenter.callEventHandler(call:CTCall) -> Void in{
                //will get CTcall status here
           }
    }
}
Run Code Online (Sandbox Code Playgroud)

有三个错误.

1,Braced语句块是未使用的闭包

2,预期表达

3,一行上的连续陈述必须用";"分隔.

我试图改变,但任何方式都不正确.

提前致谢!

Dyl*_*lan 8

我使用以下代码完成了这项工作:

import CoreTelephony

class SomeClass: UIViewController {

    private var callCenter = CTCallCenter()

    override func viewDidLoad() {
        super.viewDidLoad()

        callCenter.callEventHandler = { (call:CTCall!) in

            switch call.callState {
                case CTCallStateConnected:
                    println("CTCallStateConnected")
                    self.callConnected()
                case CTCallStateDisconnected:
                    println("CTCallStateDisconnected")
                    self.callDisconnected()
                default:
                    //Not concerned with CTCallStateDialing or CTCallStateIncoming
                    break
            }
        }
    }

    func callConnected(){
        // Do something when call connects
    }

    func callDisconnected() {
        // Do something when call disconnects
    }
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.