RxSwift 无法识别订阅方法

RxSwift cannot recognize a subscribe method

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

我有一个函数,其中 returns Observable 个名为 Repository 的项目。

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

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

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

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

但是Xcode说

Cannot invoke 'subscribeNext' with an argument list of type '((Repository) -> ())'

这很奇怪,因为这就是 Xcode 在我使用自动完成时建议起诉的内容。我已经尝试清理并重新构建。即使我使用另一种订阅方法,我也会得到同样的错误。

那么,这有什么问题吗?

函数 subscribeNext 的类型为

((E) -> Void) -> Disposable

您提供的闭包类型正确。 也许你调用 subscribeNext 的地方并不期待 Disposable?