Ios 将目标c转换为swift-GameKit

Ios 将目标c转换为swift-GameKit,ios,objective-c,swift,game-center,Ios,Objective C,Swift,Game Center,我正在将一些目标c转换为swift,我被困在一条我不明白的线上: localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) { 让我困惑的是插入符号及其后面的内容: ^(UIViewController *viewController, NSError *error) 更重要的是,我想了解行的含义(除了它的快速转换)它是一个-它就像一个C函数,可以用作变量(例如,在分配属性时)

我正在将一些目标c转换为swift,我被困在一条我不明白的线上:

localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {
让我困惑的是插入符号及其后面的内容:

^(UIViewController *viewController, NSError *error)
更重要的是,我想了解行的含义(除了它的快速转换)

它是一个-它就像一个C函数,可以用作变量(例如,在分配属性时)


Swift中的等效概念称为a。幸运的是,它们是-您可以将Swift闭包传递给需要块的Objective-C方法和属性。

这是一个块。Swift的等价物可能是这样的

let handler: (UIViewController, NSError) -> Void = { (controller, error) in
    ...
}

这是一个Objective-C区块。在Swift中,这将转化为以下结束:

localPlayer.authenticateHandler = { 
    (viewController: UIViewController, error: NSError) in

    }
没有那么复杂


尽管您仍然可以使用并自动转换它。:)

这是一个街区。这是swift的等价物,所以我可以说
localPlayer.authenticatehandle=handler
?上面设置的变量是
handler
中的哪一个?感谢iSwift参考,这会很方便的