5

我在 ios 应用程序中使用 Amazon Cognito 和 Facebook 登录。直到 beta 5 ,这个 SO 线程中的这段代码才有效:

class CustomIdentityProvider: NSObject, AWSIdentityProviderManager {
    var tokens: [NSString: NSString]?

    init(tokens: [NSString: NSString]) {
        self.tokens = tokens
    }

    @objc func logins() -> AWSTask<NSDictionary> {
        return AWSTask(result: tokens) // Compile error in beta 6
    }
}

在 beta 6 中,我得到了这个编译错误:

Cannot convert value of type '[NSString:NSString]?' to expected argument type '_?'

当我将线路更改为

return AWSTask(result: tokens! as [AnyObject: AnyObject])

我得到错误

Type 'AnyObject' does not conform to protocol 'Hashable'

这是快速版本。3.

4

1 回答 1

5

转换为 NSDictionary 而不是 Swift 字典:

return AWSTask(result: tokens! as NSDictionary)
于 2016-08-20T06:58:26.997 回答