RxSwift 无法识别订阅方法

Dan*_*ali 5 ios swift rx-swift

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

我有一个函数返回一个Observable名为 的项目Repository

func search(query: String) -> Observable<Repository>
Run Code Online (Sandbox Code Playgroud)

基本上,它向 github 发出网络请求,根据搜索查询下载存储库。

现在,当我调用这个函数时,我按照RxSwift 文档中的示例进行操作:

search(queryText).subscribeNext({ repo in
            print(repo)
        })
Run Code Online (Sandbox Code Playgroud)

但 Xcode 说

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

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

那么,这有什么问题呢?

the*_*utz 4

函数 subscribeNext 的类型为

((E) -> Void) -> Disposable

您提供的封闭件类型正确。也许您调用 subscribeNext 的地方不需要 Disposable?