0

我在 Swift 项目中使用PayMill 的 iOS SDK 。

我对他们有疑问PMManager.initWithTestMode(),请参阅此处的文档

此代码与 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")
        }
    }
)

它给了我以下错误:

init调用中缺少参数标签

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

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

任何帮助深表感谢!

4

1 回答 1

1

问题是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")
        }
    }
于 2015-04-20T07:26:03.433 回答