RxCodyFire
安装
通过 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文件。