我在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")
}
}
)
它给了我以下错误:
在通话
中缺少参数标签init
在关闭之前添加init:
会触发更多警告。
如何修改上述代码段以允许与iOS 8.3 / Swift 1.2兼容?
非常感谢任何帮助!
答案 0 :(得分: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")
}
}