0
У меня есть следующий:счетной фасоли с ReactiveCocoa 4 и NSButton
- Два интересного класс:
ViewController
иViewModel
- Кнопка
nsButtonMorePlease:NSButton
вview
изViewController
- текстового поля
nsTextView:NSTextView
в theview
Я хочу следующее поведение:
- При запуске программы, то «отсчет» начинается с 0 и отображается в текстовом поле
nsTextView
- При нажатии на кнопку
nsButtonMorePlease
, счетчик увеличивается на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!
}