ReactiveCocoa

2015年を振り返ってみる

2015年も残すところあと数時間。aikoの年越しライブ Love Like Pop 18に向かっている途中/開演待ちに書いています。 色んなところで振り返りエントリーが流れているので、自分も振り返ってみようかと書いてみます。 フリュー 昨年10月から業務委託としてフリ…

Carthageのコミッター(Collaborator)になりました

先月の2015年6月に、CarthageというCocoaプラットフォーム(iOS/OS X/watchOS)用の依存性管理ツールのコミッター(Collaborator)になりました。 このプロジェクトは元々ReactiveCocoa 3.0のAPIを洗練させるためのショーケースとして始まったという側面もあり、…

逆引きReactiveCocoa: 固定値をRACSignalでラップする

非常に基本的なことですが、あまりはっきりと触れられていない(触れる必要がない?)のが、単純に固定値をラップしたシグナルを生成するケースです。方法自体は単純で、以下のようなメソッドが用意されています。 // 値の場合 RACSignal *singleValueSignal…

ReactiveCocoaのコミッターになりました(なってました)

もう結構前で昨年末か年始からなのですが、自分でもいくつか解説を書いている ReactiveCocoa というObjective-C用のFunctional Reactive Programmingライブラリのコミッターになりました! ReactiveCocoa ちなみに現時点までで19個のプルリクをしていて、マ…

ACAccountStoreのReactiveCocoaラッパーを作った

タイトルのままですが ikesyo/ReactiveAccountStore というAccounts.framework (ACAccountStore) のReactiveCocoaラッパーを作ってみました。 現時点では、以下の4つの非同期メソッドのRACSignalラップ版をサポートしています。 -requestAccessToAccountsWit…

Objective-CのランタイムAPIをReactiveCocoaで解説する

iOS Advent Calendar 2013 14日目担当の @ikesyo です。 Function Reactive Programming Framework - Reactive Cocoa | Cocoaの日々情報局 iOS - ReactiveCocoaについて - Qiita [キータ] ReactiveCocoaのまとめ資料 - Qiita [キータ] Objective-C - Reactiv…

逆引きReactiveCocoa: シグナルにイベント発生時に対する処理を挟み込む

ReactiveCocoaのドキュメントにもあるように、-do...系のメソッドを使用すると、シグナルを購読せずに副作用を挟み込むことができます。 RACSignal *newSignal = [[[signal doNext:^(id x) { NSLog(@"next"); }] doError:^(NSError *error) { NSLog(@"error"…

逆引きReactiveCocoa: 毎時0分に処理を行う

元ネタ: ios - Perform action on the hour, every hour, with ReactiveCocoa - Stack Overflow 現在時刻から1時間毎だと毎時0分とならないので、まずは次の時までの分を得ておきます。 NSDateComponents *components = [[[NSCalendar sharedCalendar] calen…

逆引きReactiveCocoa: @YES/@NOをトグルで送るRACCommandを用意する

元ネタ: Command which sends alternating YES/NO values · Issue #767 · ReactiveCocoa/ReactiveCocoa ボタン・ジェスチャーなどのUI操作とRACSignalを仲介するクラスとしてRACCommandがあります。これを用いて、状態(フラグとなるインスタンス変数/プロパ…

逆引きReactiveCocoa: シグナルの現在の値だけでなく、直前の値にアクセスする

元ネタ: How to obtain KVO old value using ReactiveCocoa 2.0 API? · Issue #762 · ReactiveCocoa/ReactiveCocoa KVOのオプションを使用する場合 ReactiveCocoaではRACObserve()マクロによってKVOを非常に簡単に扱うことができますが、それだけでは、通常…

逆引きReactiveCocoa: 副作用だけのシグナルをリフティング/バインディングに使用する

元ネタ: Best practice for signals that capture completed/error operations · Issue #653 · ReactiveCocoa/ReactiveCocoa ログインやデータの永続化など、特に next として送る値がないシグナルの結果を -[NSObject rac_liftSelector:withSignals:] や RA…

ReactiveCocoaでタイマー処理 その2

こんなことがあり、 ios - RACSignal interval not work immediately - Stack Overflow @rizumita もう解決済みかも知れませんが、[[[RACSignal interval:5] startWith:[NSDate date]] subscribeNext:^(NSDate *date) {}]; という感じでしょうか。— いけしょ…

ReactiveCocoaでタイマー処理

最近一部で話題(と勝手に思っている)の ReactiveCocoa。 NSTimerでも問題ないことですが、場合によっては別にメソッド作ったり、セレクター指定が面倒なこともあるので、以下のような簡単なタイマー処理をReactiveCocoaで書いてみます。 - (void)setUpTime…