2013/12/02

ReactiveCocoaはじめの一歩: 3分でできるReactiveCocoa

前回の記事「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 SubscriptingsetObject:forKeyedSubscript:を利用しており、RACObserveKey-Value Observingを利用しています。

つまり、KVOで監視した値を自動で更新するようにしたわけで、ここだけ見るとReactiveCocoaはKVOを非常に使いやすくしたものであると言えます。

詳しいことはまたの機会に説明します。

おわりに

ReactiveCocoaの簡単なアプリを作成してみました。

関連リンク

0 件のコメント:

コメントを投稿

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