PayMill iOS SDK:Swift 1.1 > 1.2 兼容性

PayMill iOS SDK: Swift 1.1 > 1.2 compatibility

我正在 Swift 项目中使用 PayMill's iOS SDK

我对他们的 PMManager.initWithTestMode() 有疑问,请参阅 docs here

此代码与 Swift 1.1 和 iOS 8.1 / 8.2 完美配合:

PMManager.initWithTestMode(testMode, merchantPublicKey: publicKey, newDeviceId: nil,
    { (success, error) -> Void in
        if success{
            println("successfully initialized PayMillSDK")
        }
        else{
            println("error during initialization")
        }
    }
)

它给我以下错误:

Missing argument label init in call

在关闭之前添加init:会触发更多的警告。

如何修改以上代码片段以兼容 iOS 8.3 / Swift 1.2?

非常感谢任何帮助!

问题是 init 现在是保留关键字。所以在 Swift 中没有选择这个作为参数名称的选项。然而,在 Objective-C 中,这是可能的。

幸好现在可以使用这个语法糖了:

PMManager.initWithTestMode(testMode, merchantPublicKey: publicKey, newDeviceId: nil)
    { (success, error) -> Void in
        if success{
            println("successfully initialized PayMillSDK")
        }
        else{
            println("error during initialization")
        }
    }