- TCAに興味があって少し調べてみたけど実際のところどんな実装になるのか知りたい方
- Swiftについてあまり詳しくない方
サンプルプロジェクトを作ってみたので、その内容をまとめていきたいと思います。
- ソースコードには詳細なコメントを付け加えて、SwiftとTCAの解説をしてきたい
開発するアプリは以下の機能を含みます:
- 非同期処理
- 追加のローディング処理
- 引数を伴う画面遷移
- お気に入り機能
- プレビュー対応
- ユニットテスト
Store,Reducer,State,Action,Effectについて簡単に説明する。
コンポーネント | 説明 |
---|---|
Store | アプリの状態を保持し、アクションに応じて状態を更新します。 |
Reducer | アクションを受け取り、状態を変更するロジックを含んでいます。 |
State | アプリの状態を表すデータ構造で、アプリの現在の状態を保持します。 |
Action | アプリ内で発生するイベントやアクションを表し、ユーザーの入力やシステムイベントに応じて発行されます。 |
Effect | 非同期処理や外部との通信を扱うための機能で、アクションをトリガーとして外部の操作を行い、その結果をアクションとして再度Reducerに送ります。 |