Вы захотите преобразовать свою наблюдаемую цепочку, включив в нее содержимое текстового поля, а затем отфильтровать значения, которые вам не интересны. Оператор withLatestFrom
извлечет значения из другой наблюдаемой в текущую цепочку.
@IBOutlet weak var myTextField: UITextField!
myButton.rx.tap
.withLatestFrom(myTextField.rx.text)
.filter { $0 != nil && $0?.isEmpty == false }
.flatMapLatest { // here $0 is the value of the text field
API.fetchMyList($0)
}
.subscribe...
В качестве дополнительного примечания, вы, вероятно, захотите использовать flatMapLatest вместо flatMap, чтобы старые запросы отменялись при повторном нажатии кнопки.