【发布时间】:2019-06-18 22:22:20
【问题描述】:
ViewController.swift 这是我在 viewDidLoad 中的代码。
class ViewController: UITableViewController {
let dataManager = DataManager()
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
let viewModel = ViewModel()
viewModel.fetch(dataManager)
_ = viewModel.items.subscribe({ books in
print(books)
})
}
}
这是我在 viewModel 中实现项目的方式。 ViewModel.swift
import Foundation
import RxSwift
class ViewModel: ViewModelProtocol {
var isError: Bool = false
var message: String?
typealias T = Book
var items:Observable<[Book]> = Observable<[Book]>()
func fetch(_ dataManager: DataManager) {
dataManager.get(for: .book) { [weak self] results in
self?.items = Observable<[Book]>.create({ subscriber -> Disposable in
switch results {
case .success(let books):
subscriber.onNext(books as! [Book])
subscriber.onCompleted()
case .failure(let error):
subscriber.onError(error)
}
return Disposables.create()
})
}
}
}
【问题讨论】:
-
你为什么不向我们展示从视图中加载的崩溃代码行?
-
我确实添加了代码。谢谢
-
请添加一个可以重现错误的最小代码示例。您没有添加足够的代码。我预计您定义
items的方式有问题。 -
是的。对不起。刚刚编辑。谢谢
标签: observable rx-swift