При работе с учебным пособием на 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'
func validate(cardText: String) -> Bool
Является объявлением вызываемой функции внутри закрытия карты.
При просмотре документов Apple карта (необязательно) должна передавать развернутую переменную в качестве параметра, поэтому $0 уже должен быть развернут, и я не вижу никаких заметок о том, что она устарела или изменена.
Не совсем уверен, что здесь не так.
ТИА