前回の記事「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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。