При работе с учебником на https://www.raywenderlich.com/138547/getting-started-with-rxswift-and-rxcocoa
с использованием Xcode 9.3 и Swift4
Есть код:
private func setupTextChangeHandling() {
let creditCardValid = creditCardNumberTextField
.rx
.text //1
.throttle(throttleInterval, scheduler: MainScheduler.instance) //2
.map { self.validate(cardText: $0) } //3
creditCardValid
.subscribe(onNext: { self.creditCardNumberTextField.valid = $0 }) //4
.addDisposableTo(disposeBag) //5
}
Выдает ошибку при вызове map () для параметра $ 0:
Не удалось преобразовать значение типа 'String?' к ожидаемому типу аргумента 'String'
func validate(cardText: String) -> Bool
Является ли объявление вызываемой функции внутри замыкания карты.
При просмотре документов Apple карта (необязательно) должна передавать в качестве параметра развернутую переменную, поэтому $ 0 уже должна быть развернута, и я не вижу каких-либо примечаний к ней как устаревших или измененных.
Не совсем уверен, что здесь не так.
ТИА