这是一个软件设计问题,在第二个屏幕(红色箭头)上验证后如何进行?有很多方法可以实现这一点,只是想知道哪一个是最好的。
在屏幕 2 上,当用户点击保存时,我们主要有 4 件事要做。
将信息复制到项目
item.attribute1 = UITextField1.text item.attribute2 = UITextField2.text ...
保存项目(我们使用类似于 CoreData 的 ORM)。弹出错误警报
BOOL error = [item save] ...
如果成功,更新列表(在屏幕 1 上)
... [tableView reloadData]
并删除视图(屏幕 2)
[self dismiss...]
问题是,每个步骤(1...4)应该由哪个控制器负责,它们应该如何通过委托+协议相互通信?
第一种解决方案:在屏幕 2 控制器上,执行步骤 1 和 2。如果保存成功,调用屏幕 1 控制器委托并执行步骤 3。然后返回屏幕 2 控制器,删除自己。
第二种解决方案:在屏幕 2 控制器上,只需执行步骤 1。调用屏幕 1 控制器并执行 2+3+4。
也许否则?
谢谢!