我有以下内容:
- 两个有趣的类:a
ViewController
和 aViewModel
nsButtonMorePlease:NSButton
中view
的一个按钮ViewController
nsTextView:NSTextView
还有一个文本view
框
我想要以下行为:
- 启动程序时,“计数”从 0 开始并显示在文本框中
nsTextView
- 当您按下按钮
nsButtonMorePlease
时,计数会增加 1,1
更新后的计数会反映在nsTextView
我想确保:
- 我用
ReactiveCocoa 4
(这就是重点) - 模型类包含
numberOfBeans: MutableProperty<Int>
开始于0
- 该设计纯粹是功能性的或接近于它-也就是说(如果我理解该术语),链中的每个链接都将鼠标单击事件映射到文本视图
MutableProperty
中numberOfBeans
响应它的事件,都没有副作用。
这就是我所拥有的。公平警告:我相信这并不接近工作或编译。但我确实觉得也许我想使用 , , 等中的一个combineLatest
。collect
只是reduce
迷失了具体要做什么。我确实觉得这让事情变得容易变得非常困难。
class CandyViewModel {
private let racPropertyBeansCount: MutableProperty<Int> = MutableProperty<Int>(0)
lazy var racActionIncrementBeansCount: Action<AnyObject?, Int, NoError> = {
return Action { _ in SignalProducer<Int, NoError>(value: 1)
}
}()
var racCocoaIncrementBeansAction: CocoaAction
init() {
racCocoaIncrementBeansAction = CocoaAction.init(racActionIncrementBeansCount, input: "")
// ???
var sig = racPropertyBeansCount.producer.combineLatestWith(racActionIncrementBeansCount.)
}
}
class CandyView: NSViewController {
@IBOutlet private var guiButtonMoreCandy: NSButton!
@IBOutlet private var guiTextViewCandyCt: NSTextView!
}