RxCodyFire 1.2.0

RxCodyFire 1.2.0

Mihael Isaev 维护。



 
依赖
CodyFire>= 0
RxSwift>= 0
RxCocoa>= 0
 

  • 作者
  • MihaelIsaev

RxCodyFire

Version License Platform

安装

通过 CocoaPods

pod 'RxCodyFire'

如何使用

请在原始 CodyFire 仓库中查看 API 声明示例 https://github.com/MihaelIsaev/CodyFire

让我们假设您有一个 ToDos 应用。我们的目标是获取 ToDos 列表。

好的,让我们在 Models/ToDoModel.swift 中声明一个 ToDo 模型

struct ToDoModel: Codable {
    let id: UUID
    let text: String
    let createdAt: Date
}

然后在 /API/API.swift 文件中声明您的 API

class API {
    typealias todo = ToDoController
}

然后在 API/Controllers/ToDoController.swift 文件中声明一个空的 ToDo 控制器

class ToDoController {}

然后在分离的装饰器 API/Controllers/ToDo+Search.swift 文件中声明一个搜索端点

import RxCodyFire

extension ToDoController {
    struct Query: Codable {
        let text: String
    }
    static func search(_ text: String) -> APIRequest<[ToDo]> {
        return APIRequest("todo").query(Query(text: text))
    }
}

当一切准备就绪后,您就可以在您的响应式代码中轻松使用它了!请记住导入 RxCodyFire

searchController.searchBar.rx.text.asObservable()
  .map { ($0 ?? "").lowercased() }
  .flatMap { API.todos.search($0).observable }
  .bind(to: tableView.rx.items(cellIdentifier: cellIdentifier)) { index, model, cell in
    cell.textLabel?.text = model.name
  }
  .disposed(by: disposeBag)

不错,对吧?

提示:不需要导入 CodyFire,因为它已经由 RxCodyFire 导入了

作者

米哈伊尔·伊萨耶夫,[email protected]

许可证

RxCodyFire遵循MIT许可证。有关更多信息,请参阅LICENSE文件。