小编Sha*_*ave的帖子

在ViewController中可以观察到单元测试RxSwift

我对RxSwift很陌生。我有一个具有预输入/自动完成功能的视图控制器(即,UITextField中的用户类型,并且只要他们输入至少2个字符,就会发出网络请求以搜索匹配建议)。控制器viewDidLoad调用以下方法来设置Observable:

class TypeaheadResultsViewController: UIViewController {

var searchTextFieldObservable: Observable<String>!
@IBOutlet weak var searchTextField: UITextField!
private let disposeBag = DisposeBag()
var results: [TypeaheadResult]?

override func viewDidLoad() {
    super.viewDidLoad()
    //... unrelated setup stuff ...
    setupSearchTextObserver()
}

func setupSearchTextObserver() {
            searchTextFieldObservable =
                self.searchTextField
                    .rx
                    .text
                    .throttle(0.5, scheduler: MainScheduler.instance)
                    .map { $0 ?? "" }

            searchTextFieldObservable
                .filter { $0.count >= 2 }
                .flatMapLatest { searchTerm in self.search(for: searchTerm) }
                .subscribe(
                    onNext: { [weak self] searchResults in
                        self?.resetResults(results: searchResults)
                    },
                    onError: { [weak self] …
Run Code Online (Sandbox Code Playgroud)

unit-testing ios swift rx-swift

5
推荐指数
1
解决办法
1014
查看次数

标签 统计

ios ×1

rx-swift ×1

swift ×1

unit-testing ×1