2014-07-31 - 日々精進でReactiveCocoaのtwo way bindingを紹介したが、これは間違いっぽい。
Bindした時になぜかnilが代入されてしまう。
以下のようにRACChannelToを使えばよい。
RACChannelTo(self, name) = RACChannelTo(currencyPair, name);
Bindしたプロパティへの代入をメインスレッドで行いたい場合は以下のようにする。
RACChannelTerminal *accumulateChannel = RACChannelTo(_ticker, accumulateEnabled); RAC(self, paused) = [accumulateChannel deliverOn:RACScheduler.mainThreadScheduler]; [[RACObserve(self, paused) skip:1] subscribe:accumulateChannel];
この書き方は直感的じゃないなぁ。。
参考:reactive cocoa - RACChannel: not seeing the two-way binding I expected - Stack Overflow