0

MVVM アーキテクチャで初めて RAC を使用して、Reactive Cocoa を使用してボタンのような UIElement のクリックを検出しようとしています。

ViewController のボタンに rac_command を設定しました。

    addContactBtn.rac_command = viewModel.addContact

私のViewModelは次のことを行います:

func init(){
self.addContact = RACCommand() {
  (any:AnyObject!) -> RACSignal in
  return RACSignal.createSignal({
    (subscriber: RACSubscriber!) -> RACDisposable! in
    print("creating viewModel")
    let viewModel = ContactAddViewModel(services: self.services)
    self.services.pushViewModel(viewModel)

    return RACDisposable(block: {
    })
  })
}
}

ただし、コマンドは1回だけ実行され、View Controllerをポップして元のviewControllerに戻ると、ボタンは無効な状態になります。ボタンのクリックを何度でも検出するにはどうすればよいですか?

4

1 に答える 1