ios Promise 6 - 无法转换类型'(_) - >的值环境'到预期参数类型'(_) - > _”

时间:2018-05-17 15:38:12

标签: ios swift promisekit

我正在从promiseKit 4.3迁移 - > 6并且卡在这一个错误上。任何帮助,将不胜感激。感谢

错误 - “无法将类型'() - >>环境'的值转换为预期的参数类型'() - > _'”

open func run() -> Promise<Environment> {
    return GetSettingsQuery().run().then { result -> Environment in
        var environment = Environment.certification

        if let dict = result.data as? Dictionary<String, AnyObject>,
            let environementRaw = dict[“ABC”] as? Int,
            let env = Environment(rawValue: environementRaw) {
            environment = env
        }
        return environment
    }
}

1 个答案:

答案 0 :(得分:2)

正如PromiseKit文档中的迁移指南和疑难解答指南所述,您需要将then替换为map

open func run() -> Promise<Environment> {
    return GetSettingsQuery().run().map { result -> Environment in
        var environment = Environment.certification

        if let dict = result.data as? Dictionary<String, AnyObject>,
            let environementRaw = dict[“ABC”] as? Int,
            let env = Environment(rawValue: environementRaw) {
            environment = env
        }
        return environment
    }
}

通常建议您阅读项目文档,尤其是在升级项目的主要版本时。

首先不升级版本的主要版本而不首先阅读发行说明,PromiseKit v6的发行说明多次描述您的确切问题。

将您的依赖项固定到主要版本,所有程序包管理器都支持此功能,并且所有程序包管理器的文档都会告诉您将依赖项主要版本固定。

相关问题