Reputation: 173
Unable to set Rxtimeinterval for debounce in rxswift. My code is below. I got this error message "Cannot convert value of type 'Double' to expected argument type 'RxTimeInterval' (aka 'DispatchTimeInterval')"
searchBar
.rx.text // Observable property thanks to RxCocoa
.orEmpty // Make it non-optional
.debounce(0.5, scheduler: MainScheduler.instance) // Wait 0.5 for changes.
.distinctUntilChanged() // If they didn't occur, check if the new value is the same as old.
.filter { !$0.isEmpty }
error message:
"Cannot convert value of type 'Double' to expected argument type 'RxTimeInterval' (aka 'DispatchTimeInterval')"
Upvotes: 17
Views: 11232
Reputation: 60
"Cannot convert value of type 'Double' to expected argument type 'RxTimeInterval' (aka 'DispatchTimeInterval')"
I got the same error and i just added this:
.debounce(RxTimeInterval.milliseconds(500), scheduler: MainScheduler.instance)
instead of this .debounce(0.5, scheduler: MainScheduler.instance)
Just make sure your value in milliseconds(<value>)
is an int
Upvotes: 2
Reputation: 18591
Change this line:
.debounce(0.5, scheduler: MainScheduler.instance)
To this line:
.debounce(RxTimeInterval.milliseconds(500), scheduler: MainScheduler.instance)
Upvotes: 11
Reputation: 5689
searchBar
.rx.text // Observable property thanks to RxCocoa
.orEmpty // Make it non-optional
.debounce(.milliseconds(500), scheduler: MainScheduler.instance) // Wait 0.5 for changes.
.distinctUntilChanged() // If they didn't occur, check if the new value is the same as old.
.filter { !$0.isEmpty }
Upvotes: 34