ios - ProprtyType 的文本字段值与 Reactive Cocoa 4

标签 ios swift uitextfield reactive-cocoa

我正在尝试将文本字段内容映射到 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/

相关文章:

ios - tableFooterView 属性不修复 TableView 底部的页脚

iphone - 为什么我的 3D 旋转图像与另一幅图像相交?

Swift 委托(delegate)和 SocketScan scanApi.setDelegate()

swift - 为什么省略结构属性会报告编译时错误

ios - 如果我们使用多个文本字段,如何自动获取 OTP

ios - UITextField成为FirstReponder不工作并返回false

ios - ivar 有两种不同的行为方式,但用法相同

ios - AVCaptureAudioDataOutputSampleBufferDelegate 未调用 captureOutput

ios - UITextField textFieldDidEndEditing 未从启用调用到禁用 UITextField

iphone - 如何使用矩形裁剪图像?