“无法推断出通用参数'元素'”-当我写保护语句时出现此错误-保护语句内的内容导致无法推断元素的错误。
static func makeTokenForCard(with cardinfo: CardInfo) -> Single<String> {
return Single.create { single in
guard let ck = try CheckoutKit.getInstance("pk_123456789876543234567, env: Environment.SANDBOX, debug: true) else {
let descr = "Unexpectedly Checkout got invalid private key. You may need to update the app."
single(.error(NSError.recreate(error: CheckoutError.invalidPK as NSError, description: descr)))
return
}
single(.success("123456"))
return Disposables.create()
}
}
当我删除该Guard语句时-它返回简单的String和Single中的错误。
编辑:
更多地陷入错误之后,我发现它是由于抛出错误而引起的。
open class func getInstance(_ pk: String, env: Environment, debug: Bool) throws -> CheckoutKit? {
在Simple Guard中包装好。
因此,如何在Single中调用方法时引发一些预期的错误 ?
答案 0 :(得分:0)
这与RxSwift无关,但更多的是Swift和处理错误。
您问题的最简单答案是使用try?
而不是try
。这样可以解决问题。
您可以在https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html
上了解有关错误处理的更多信息。