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