これをプロトコルで表しますここまででページネーションとレスポンスを表せた。これを使ってページネーションクライアントを実装する。3行目initで初期化段階で基準ページのリクエストを受け取る。普通と思うかもしれませんが、重要なのは、プロトコルで定義したインターフェースしか利用していないということ。汎用的であらゆるページネーションタイプのクライアントになれます。振り返りリクエストタイプはもともとなんでも送れたら、ページネーションのプロトコルを定義した結果、ページネーション用のクライアントが出来た。具体的な定義が可能になった。イベントの抽象化メソッド呼び出しを入力としてリクエストを行い出力コールバックを実行していた。RXではこの入出力をストリームとして扱うViewControllerからはリフレッシュや次のページのタイミングを送る。Paginationは次のページが有るかなどを返す。インターフェースを見てみます。ページネーションクライアントとの違いは、メソッド入力で呼び出しを行っていたが、今度はリフレッシュトリガーとネクストページトリガーというストリームのトリガーになって、またストリームが返ってくるようになっています。エレメントは、ちょっと複雑ですが、”リクエストのレスポンスに基づいたエレメントの型”になる。Swiftの検索結果を表示します。読み込み中はインジケータが回ります。ViewModelを作るViewModelを特殊化させるのはサーチリポジトリ次のページを読み込むUIをViewModelにつなげました。ViewModelからのデータをUIにつなぎましょうローディングのストリームをインジケータにつなぐデータをテーブルビューにバインド、Cellに表示。型が決まってるから型推論されますね。バグがなければ動くはずです👏PagenationのVeiwModelはリクエストやUIは変わるが、一般化されたPagenationViewModelを使いまわせる。ページネーションの実装のためにしたことはまとめプロトコルはネットワーキングの抽象化に良いプロトコルに制約をつけると、具体的記述ができる型だけじゃなうてイベントの流れも抽象化すると面白いSendRequestはSendRequestしたあとからProtocolExtensionで型を書き換えられる可能性はないか。複雑に絡まる設計はしていなくて、意図していない上書きがあるような状況には遭遇していないです。あったら共有してほしい。スキルがバラバラなチームなので誰が何処を触るかわからないなるほど。それは基盤を整える人の責任でも有りますね。2016分かった気になれる、触ってみたくなる、そんな組み立てがとっても素敵なスピーチでした。#tryswiftconf」をトゥギャりました。写真を愛し、ベルリンに住んでいます。はてなブログPro大学時代に耳が聞こえない生徒が講義に参加できるようにリアルタイムに文字起こしするバイトをしていました。いまはエンジニアとして働きつつ、勉強会やカンファレンスで話される技術分野の知見を文章に残し、検索可能にしたり、地方で活動する方に届けたいと思っています。お役に立ちましたら、支援いただけると幸いです。(24)注目記事はてなブログをはじめよう!niwatakoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。