ios - 自定义 Moya 插件

标签 ios swift xcode alamofire moya

我在使用以下代码创建自己的 Moya 插件时遇到问题:

import Foundation
import Moya
import Result

public final class CustomPlugin: PluginType {

    public func willSend(_ request: RequestType, target: TargetType) {
        print("willSend")
    }

    public func didReceive(_ result: Result<Response, MoyaError>, target: TargetType) {
        print("didReceive")
    }
}

我从 Xcode 编译器中得到以下错误:

Generic type 'Result' specialized with too many type parameters (got 2, but expected 1)

我可以通过更改

来修复编译器错误
public func didReceive(_ result: Result<Response, MoyaError>, target: TargetType)

public func didReceive(_ result: Swift.Result<Response, MoyaError>, target: TargetType)

但是在这个改变之后,didReceive 方法没有被调用。

谁能告诉我如何解决这个问题?

谢谢!

最佳答案

在 Moya 中,Result 被定义为一个通用枚举。

enum Result<T>{
    case success(T)
    case failure(String)
}

泛型参数类型只能是一个,但您已将两个参数作为结果应用到泛型。

关于ios - 自定义 Moya 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57254207/

相关文章:

c# - 如何在 UITableView 上显示 JSON 数据

swift - 使用数据(不是 NSData),实际上你如何制作 jpeg 的 utf8 版本?

Swift 获取 Facebook 用户电子邮件不起作用

xcode - 单击按钮时如何将项目插入 NSTableView 中?

ios - NSManagedObjectContext - FetchRequest 死锁

iphone - 如何弄清楚模拟器中的 `call stack` 含义?

ios - 什么时候为嵌入式 viewController 调用 prepareForSegue?

ios - 由于丢失私有(private)钥匙串(keychain)而吊销证书的后果?

ios - React Native WebView 离线优先或本地内容

swift - Swift中如何在UIDatePicker中隐藏一些年份?