Coinbase iOS SDK完成块

问题描述 投票:0回答:1

我使用的是Swift 4,我试图通过Coinbase的SDK使用OAuth。

这就是我打电话给完成OAuth的最后一步:

    CoinbaseOAuth.finishAuthentication(for: url, clientId: Constants.CLIENT_ID, clientSecret: Constants.CLIENT_SECRET, completion: { (result : AnyObject?, error: NSError?) -> Void in

    } as! CoinbaseCompletionBlock)

当我第一次输入时,我没有as! Coinbase CompletionBlock但是Xcode抱怨说我需要添加它。

当我查看方法签名时,我看到完成块类型:

+ (void)finishOAuthAuthenticationForUrl:(NSURL *)url
                               clientId:(NSString *)clientId
                           clientSecret:(NSString *)clientSecret
                             completion:(CoinbaseCompletionBlock)completion;

所以我深入挖掘并查看CoinbaseCompletionBlock定义:

typedef void (^CoinbaseCompletionBlock)(id response, NSError *error);

当我尝试运行代码时,我收到一条无用的错误消息:enter image description here

有谁知道为什么这可能导致问题?

ios swift coinbase-api
1个回答
0
投票

演员不应该在那里。并且您不需要完成处理程序参数中的类型。这应该工作:

CoinbaseOAuth.finishAuthentication(for: url, clientId: Constants.CLIENT_ID, clientSecret: Constants.CLIENT_SECRET, completion: { (result, error) in

})

你应该能够放弃completion:

CoinbaseOAuth.finishAuthentication(for: url, clientId: Constants.CLIENT_ID, clientSecret: Constants.CLIENT_SECRET) { (result, error) in

}
© www.soinside.com 2019 - 2024. All rights reserved.