我正在尝试将文本字段内容映射到 ProprtyType。我在 View 模型中有属性:
var property = MutableProperty<Int?> (nil)
我想在 viewDidLoad
中绑定(bind)它
let producer = textField.rac_textSignal().toSignalProducer().map { text in Int(text as! String) }
viewModel.property <~ producer
但是我得到了我不明白的错误:
Binary operator '<~' cannot be applied to operands of type 'MutableProperty' (aka 'MutableProperty>') and 'SignalProducer' (aka 'SignalProducer, NSError>')
我做错了什么?
最佳答案
因为绑定(bind)操作符<~要求信号生产者的错误类型必须是NoError
。所以使用 flatMapError 捕获任何错误:
let producer = textField.rac_textSignal().toSignalProducer()
.flatMapError { error in
return SignalProducer<AnyObject?, NoError>.empty
}
.map { text in Int(text as! String) }
property <~ producer
关于ios - ProprtyType 的文本字段值与 Reactive Cocoa 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973177/