RxAlamofire:对成员 'json(_:_:parameters:encoding:headers:)' 的模糊引用

Posted

技术标签:

【中文标题】RxAlamofire:对成员 \'json(_:_:parameters:encoding:headers:)\' 的模糊引用【英文标题】:RxAlamofire: Ambiguous reference to member 'json(_:_:parameters:encoding:headers:)'RxAlamofire:对成员 'json(_:_:parameters:encoding:headers:)' 的模糊引用 【发布时间】:2017-08-07 15:53:28 【问题描述】:

当我尝试编译下面的代码时,我得到一个错误:

对成员'json(::parameters:encoding:headers:)'的模糊引用

代码是从 RxAlamofire Github 存储库页面复制和粘贴的

import RxSwift
import RxAlamofire

class CurrencyRest 

        static func getJson() 

            let stringURL = "https://api.fixer.io/latest"

            // MARK: NSURLSession simple and fast
            let session = URLSession.init()

            _ = session.rx.json(.get, stringURL)
                .observeOn(MainScheduler.instance)
                .subscribe  print($0) 
        


【问题讨论】:

【参考方案1】:

要修复错误,session.rx.json(url:) 是可行的方法,它来自 RxCocoa,尽管对于 RxAlamofire,您不必使用 URLSession rx 扩展,而是使用 json(::parameters:encoding:headers:),例如json(.get, stringURL),它返回一个 Observable<Any>,您可以将其用作 JSON。

【讨论】:

以上是关于RxAlamofire:对成员 'json(_:_:parameters:encoding:headers:)' 的模糊引用的主要内容,如果未能解决你的问题,请参考以下文章

RxAlamofire 使用 json 正文进行 post call

如何使用 RxAlamofire 取消先前的请求?

RxAlamofire + 组合信号

如何使用 RxAlamofire 下载图像

使用 RxAlamofire 创建 Observable 包含网络请求的结果

Swift 3、RxAlamofire 和映射到自定义对象