0

これはソフトウェア設計の問題です。2 番目の画面 (赤い矢印) での検証後にどのように処理を進めればよいですか? これを達成するには多くの方法がありますが、どれが最適かを考えてみてください。

ビュー

画面 2 で、ユーザーが保存をクリックすると、主に 4 つのことを行う必要があります。

  1. 情報をアイテムにコピー

    item.attribute1 = UITextField1.text
    item.attribute2 = UITextField2.text
    ...
    
  2. アイテムを保存します (CoreData に似た ORM を使用します)。エラー時にアラートをポップアップ

    BOOL error = [item save]
    ...
    
  3. 成功した場合、リストを更新します (画面 1)

    ...
    [tableView reloadData]
    
  4. ビューを削除します (画面 2)

    [self dismiss...]
    

問題は、どのコントローラーが各ステップ (1...4) を担当し、デリゲート + プロトコルを使用してどのように相互に通信する必要があるかということです。

1 番目の解決策: 画面 2 コントローラーで、手順 1 と 2 を実行します。保存が成功した場合は、画面 1 コントローラー デリゲートを呼び出して、手順 3 を実行します。次に、画面 2 コントローラーに戻って、自分自身を削除します。

2番目の解決策:画面2コントローラーで、手順1を実行します。画面1コントローラーを呼び出して、2 + 3 + 4を実行します。

多分そうでなければ?

ありがとう!

4

1 に答える 1