フォームに入力してボタンを押すと成功や失敗が起きるというiOS GUIから、RxSwiftを使ってデザインしたViewController用のバインディングクラスがどう振る舞うといいのか考えた (このapp自体はどうでもいいものだけれど) モチベーション 今まで書けてなかった部分のユニットテストを書きたい 非同期ストリーム(Observable)として検査できる ストリームから送られてきたデータによってUIが常に同じ結果に行き着くようにする とはいえプレゼンテーションの手続き部分のふるまいは保証できないけど 前提となる考え ViewModelはUIの世界から切り離された純粋なデータ UIView, Storyboard, UIViewController, ViewModel の責務は全部View(プレゼンテーション) ViewModelはViewなのでViewのデータを定義するだけ。業務
こんにちは!今年度4月に入社した、SUUMOスマホサイト開発チームの沼田です。 入社してからはSUUMOスマホサイトで Infrastructure as Code を実践したり、DevOpsの基盤を整備しているのですが、最近社内でRxSwiftを布教する機会があったので、その際につくったサンプルプロジェクトを使って、RxSwiftとMVVMアーキテクチャを簡単に解説します。 実際に動くコードあるので、コードベースで解説していきたいと思います。Xcodeで⌘+click や option+clickをつかいながらコードを読むのも良いと思います。 サンプル:https://github.com/takuwan0405/RxSwiftSample TL;DR MVVM = View(UIや外観の実装) + ViewModel(Viewのデータや状態を保持) + Model(ビジネスロジックを実
1.b. Linked Frameworks and Libraries に framework ファイルを追加 Xcode 上での作業になります。 プロジェクトファイルを開く 左にある TARGETS で APISample を選択 上部の General タブを選択 Linked Frameworks and Libraries の + ボタンを選択 Add Other... ボタンを選択 {RepoRoot}/Carthage/Build/iOS/ 以下の .framework ファイルを選択する 以下の様になります。 1.c. Build Phases に framework ファイルを追加 引き続き Xcode 上での作業です。 プロジェクトファイルを開く 左にある TARGETS で APISample を選択 上部の Build Phases タブを選択 左上の + ボタンを
当初、めちゃいけてるPullRefreshライブラリDGElasticPullToRefreshを使う予定でしたが、AutoLayoutのバグで使用を断念 RxSwiftでのMVVMモデルの実現 こんなイメージ RxSwiftの使い所 1. Model : リクエストでObservableオブジェクトの生成 ここでは、APIリクエストでObservableオブジェクトを生成 レスポンスのJSONは、ObjectMapperを利用して作成したモデルクラスFeedResponseにマッピングしておくと楽でした func connect() -> Observable<FeedResponse> { let observable: Observable<FeedResponse> = Observable.create { (observer: AnyObserver<FeedResponse>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く