代码之家  ›  专栏  ›  技术社区  ›  Daniele Vitali

RxSwift无法识别订阅方法

  •  4
  • Daniele Vitali  · 技术社区  · 8 年前

    我正在为iOS应用程序使用RxSwift。

    我有一个函数,它返回 Observable 已调用个项目(共个) Repository .

    func search(query: String) -> Observable<Repository>
    

    基本上,它向github发出网络请求,以下载给定搜索查询的存储库。

    现在,当我调用这个函数时,我按照 RxSwift documentation :

    search(queryText).subscribeNext({ repo in
                print(repo)
            })
    

    但Xcode表示

    无法使用类型为“((Repository)->”的参数列表调用“subscribeNext”;())'

    这很奇怪,因为当我使用自动补全时,Xcode建议起诉我。我已经试过清理和重建。即使我使用另一种订阅方法,也会出现同样的错误。

    那么,这是怎么回事?

    1 回复  |  直到 8 年前
        1
  •  4
  •   thetrutz    8 年前

    函数subscribeNext的类型为

    ((E) -> Void) -> Disposable

    您提供的封口类型正确。 也许你打电话给subscribeNext的地方并不期待 Disposable ?