UIControlのステータスのトグル処理にReacativeCocoaを使う
1文字以上UITextViewに入っているときだけOKボタンを有効にする、なんてケースはよくある。 Cocoa Bindingsが使えればいいのだが、 あいにくiOSのCocoa Touchではまだサポートされていない。
ReactiveCocoaを使うとBlocksを使って楽に書ける。
rac_textSignal
プロパティを使って次のように書くことができる。
#import <ReactiveCocoa.h>
UITextView _text = ...;
UIButton _ok = ...;
// Enable ok button when the length of text view content is more than zero.
[_text.rac_textSignal subscribeNext:^(NSString *x) {
_ok.enabled = [x length] > 0;
}];