検索

ホームページ  >  に質問  >  本文

iOS で MVVM を使用する場合、複雑な Cell ViewModel をどのように記述すればよいでしょうか?

iOS の MVVM アーキテクチャに関する質問

プロジェクト内のtableViewセルは比較的複雑なので、このセルの表示形式を ヘッダセル フッタ のように分割して表示します。
JD.com のショッピング カートと同様に、セル内に複数のアイテムがあります。

下の図では、完成したセルによって表示される領域を区別するために 3 つの色を使用しています。

私が遭遇した問題は、セルの viewModel をどちらの方法で記述すべきかということです。

以下の2つの形式で書いてみました

  1. ViewModel には headerViewModelArray cellViewModelArray footerViewModelArray が含まれます。

    リーリー

  2. ViewModel にまとめて表示する必要がある header cell footer 要素を記述します

そこで問題が発生します。
1. メソッドを使用して viewModel を作成すると、セルには製品が表示されるため、セルの内容を取得するのが不便になります。複数の商品がある場合がございます。1対1の対応は苦手です。次に、2. メソッドを使用して ViewModel を作成しましたが、MVVM では、view-model のコンテンツを可能な限り必要な範囲に圧縮することを推奨しています。フッターに値を割り当てると、セルに対応するプロパティは実際には必要ありません。これは MVVM の推奨事項に準拠していません。

1. は信頼できないと思うので、2. を使用しました。

この種のインターフェイスに MVVM を使用する場合の提案をいくつか教えていただきたいと思います。

怪我咯怪我咯2766日前785

全員に返信(1)返信します

  • 大家讲道理

    大家讲道理2017-05-31 10:34:43

    そんな面倒なことをする必要はありません。

    Cell 内の VM には 1. foot 2. header 3. subCells
    @property foot
    @Property header
    @property struct/class cell model

    が含まれています

    返事
    0
  • キャンセル返事