前回の記事「CocoaPodsでReactiveCocoaをインストールする」 ではとりあえずReactiveCocoaを利用できるようにしました。
今回は、このサンプルプロジェクトを引き続き利用して、とりあえずReactiveCocoaを使ってみます。
RACとRACObserve
まず、プロジェクト内のMain_iPhone.storyboardを開いて、FirstViewControllerに2つのSegmentedControlを追加します。
そうしたら、Assistant Editorを開いて、この2つのコントロールのIBOutletを作成します。
最後に、RCSFirstViewController.mを開いて、viewDidLoadに1行追加します。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
RAC(self, s2.selectedSegmentIndex) = RACObserve(self, s1.selectedSegmentIndex);
}
これだけです。
実行してみると、上のセグメントボタンの選択されているものを変えると、下のセグメントボタンの選択も変わるようになります。
どうなっているの?
大雑把に言うと、マクロRACはLLVMのDictionary Style Subscriptingの
setObject:forKeyedSubscript:を利用しており、RACObserveはKey-Value Observingを利用しています。
つまり、KVOで監視した値を自動で更新するようにしたわけで、ここだけ見るとReactiveCocoaはKVOを非常に使いやすくしたものであると言えます。
詳しいことはまたの機会に説明します。
おわりに
ReactiveCocoaの簡単なアプリを作成してみました。



0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。