
ReactiveCocoa関連のリソースをまとめてみました。
SimpleAuthでは他のウェブサイトのOAuth認証もある程度簡単に追加できるようになっているみたいなので、試しにIIJmioクーポンスイッチAPIを追加してみました。
RACSignal
のサブクラスであるRACSubject
は、メソッドにsendNext:
、sendError:
、sendCompleted
を持っているので、自分でイベントを送信する機能を持っています。
これらのメソッドを使うと、ReactiveCocoaのFramework Overviewにある通り、非RACなものからシグナルを出すことができるようになります。
今回はそのような利用例として、IIJmioのiOSサンプルアプリでのOAuth認証での事例を紹介します。
IIJmioのiOSサンプルアプリケーションにおいて、ReactiveCocoaを用いているネットワークまわりの処理を簡単に紹介します。
先月、IIJがIIJmioクーポンスイッチAPIを公開しました。そのiOS用サンプルアプリをつくってみましたので、GitHubで公開します。
コードはReactiveCocoaで、MVVMを意識しつつ書いたので、ReactiveCocoa + MVVMの例になれば幸いです。
MantleはGitHubの人 (かつ、ReactiveCocoaの人) が開発したモデルフレームワークです (ライセンス: MIT)。
簡単に言えばNSCodingの代わりになるようなもので、NSCodingに比べてコード量が少なくなるように設計されています。
何回かにわたってReactiveCocoaについて書きました。
今回は、そのまとめとして今さらながらReactiveCocoaとFunctional Reactive Programmingについて簡単に紹介します。
ReactiveCocoaのメモリマネジメントについてのドキュメントでも触れられているライブラリlibextobjcの@strongify
と@weakify
について紹介します。
なお、libextobjcの導入方法などについては以前の記事「CocoaPodsでReactiveCocoaをインストールする」を参照ください。
前回の記事「ReactiveCocoaでmap, filterなどを使ってみる」ではmapやfilterを利用してみました。
今回は、前回の処理を別の方法で書くことを通して、ReactiveCocoaの中心的な役割を果たしているRACSignalについて説明します。
前回の記事「ReactiveCocoaはじめの一歩: 3分でできるReactiveCocoa」ではとりあえずてきとうなアプリを作ってみました。
今回はこれとは別に、関数型言語のようなmapやfilterを使ったアプリを作ってみます。
前回の記事「CocoaPodsでReactiveCocoaをインストールする」 ではとりあえずReactiveCocoaを利用できるようにしました。
今回は、このサンプルプロジェクトを引き続き利用して、とりあえずReactiveCocoaを使ってみます。
これから何回かにわたってReactiveCocoaについて書きたいと思います。
今回は導入として、ReactiveCocoaのインストール方法を紹介します。
手動でインストールもできますが、CocoaPodsを利用するのが一番簡単です。