hirodesu85 / GIFTech2024_frontend

0 stars 0 forks source link

MVVMに基づいたView同士のデータの受け渡し定義 #9

Closed madomaru closed 6 months ago

madomaru commented 6 months ago

概要

iOSアプリ開発のアーキテクチャにMVVM(Model View ViewModel)というものがあります。 それぞれの要素を以下で簡単に説明します

詳しくはこちらなどをご参照ください(https://qiita.com/Soccerboy_Hamada/items/fc9c06f58594471a93c0)

以下の理由から必要性を感じたため、導入します。 →ページ間のデータの受け渡しはViewModelで行わず、遷移時にデータを渡す形で行います。

初めてアーキテクチャを意識した開発を行うので、至らないところもあるかもしれませんが、なるべく皆さんが書きやすいように実装できればと思います。

タスク

データの受け渡しの発生が考えられる場所

※user.defaultsとは、アプリを終了させても端末に保存されるデータのことです。

GoalData(Level 1)

プロパティ

使う場面

DropData(Level 1~2)

プロパティ

使う場面

WearingData

プロパティ

使う場面

madomaru commented 6 months ago

以下の記事を参照して、MVVMアーキテクチャを使用するのは間違っている気がしてきました。 https://qiita.com/karamage/items/8a9c76caff187d3eb838#mvvm%E3%82%92%E6%AD%A2%E3%82%81%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%A9%E3%81%86%E3%81%99%E3%82%8B%E3%81%AE

EnvironmentObjectというもので十分な気がしてきたので、MVVMアーキテクチャはやりません。

madomaru commented 6 months ago

EnvironmentObjectを使わない方法に変更しました。

madomaru commented 6 months ago

UserDefaultsにより、アイテムドロップ画面とのデータの受け渡しを実装しました。