- RxSwift+MVVMハンズオン勉強会@Wantedly
- https://wantedly.connpass.com/event/61426/
- 2015.11.26 19:30~21:00
- 題材アプリのインストールをする
以下のコマンドでインストールできる
git clone -b workshop https://github.com/wantedly/Cerberus.git
cd Cerberus
carthage bootstrap --platform iOS
open Cerberus.xcodeproj
- Model
Event
- (
Time
)
- View
CalendarViewController
- View Model
CalenderViewModel
- Eventの配列を流してみる
CalenderViewModel
のevents
プロパティのストリーム (出力用) に流す- Eventの配列 →
[Event(.normal("勉強会"), from: Date(), to: Date(timeIntervalSinceNow: 60*60))]
- ボタンのタップを伝搬させる
CalendarViewController
のviewDidLoad
でバイディングの記述を追加 -CalenderViewModel
のcalendersButtonItemDidTap
プロパティのストリーム (入力用) に流す
- 取得したカレンダーのイベントを伝搬させる
CalenderViewModel
のcalendersButtonItemDidTap
プロパティのストリームのイベントを加工するCalenderService
を利用- 入力 → 権限取得 → カレンダー選択 → イベント取得 → 出力
- カレンダー情報の読み込みエラー時にポップアップを表示する
- 選択されたカレンダーをUserDefaultsに保存する