VIPERアーキテクチャでSwiftUIを利用するサンプルコードを動かして理解したいZennyimajo🐍VIPERアーキテクチャでSwiftUIを利用するサンプルコードを動かして理解したい2022/06/17に公開SwiftSwiftUIvipertechはじめに最近、仕事で技術的なアドバイスをしているクライアント様から、「VIPERアーキテクチャでSwiftUI使えるんスカね?」という質問を受けまして、「それはもちろん使えるッピ」と答えたのでその例を示します。活用した「レシピ」×「買い物」の新機能開発を参考にし、Playgroundsで動かせるサンプルにしてみます。方向でデータを反映する際PresenterのデータをObservableをSwiftUI.ViewのObservableObjectにbindする値の変更を自動的に反映する参考にしてサンプルコードを作る参考サイトさまとまったくおんなじものを作ろうにも細かいことはよくわからないので、こちらで仕様を考えて、簡単に動かしてためせるようにPlaygroundsで作ってみます。画面SwiftUI.Viewとして3つユーザイベントを受け付けて内部の値を表示する赤いカウンターView内部の値を表示するだけの青いView押せる押せないボタンを表現するだけのViewRxSwiftは使いたくないRxSwiftを使わずにCombineにしましたDataSourceという命名について元記事の例ではDataSourceという型名が使われていて、「DataSourceというのがViewにあるけどきっと本来のアプリケーションのDataSourceはPresenterより奥のInteractorにあってViewのDataSourceはコピーなのね」と感じられるとは思います。私だったらViewのDataSourceのほうはDataもしくはStateだけにしてSourceという言い方は避けるかもねと言う感じで参考にさせてもらいました。Viewのイベントをdelegateで外に伝えて、値を内部に反映する例のView。本来のDataSource。viewController感想クックパッドさんの記事はVIPERでSwiftUIを使う例としてとっても参考になりました。yimajoiOSアプリ開発を生業としています。swift.booth.pm/バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。バッジを贈るDiscussionyimajoiOSアプリ開発を生業としています。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。