我有3个视图view1,view2和view 3.当我在视图3中时,我有一个在视图2中更改数据的问题。这里是我能想到的方式
这是在我的案例中更改数据的最佳建议方式。
数据只是对一组对象的值的更改。
答案 0 :(得分:1)
如果您进一步进行重构,选项(1)是让您头疼的最高风险的方法。它也可能很繁琐,因此存在犯错的风险,然后不得不花费更多时间来修复它们。出于这些原因,最好避免它。
在(2)和(3)之间选择倾向于引发关于全局,封装等的意识形态争论。
即使你没有采用全局变量是邪恶的观点,使用UINotificationCenter还有很多要说的(3)。它鼓励你非常清楚地思考你正在采用的通信协议,它可以防止应用程序委托中的混乱,它往往是最稳定的重构,如果你想重新使用其他地方的视图你有一个良好的开端等
特别是,通过精心设计的通知,您经常会发现,如果您进一步重构,那么您的工作将会少得多 - 甚至没有 - 以保持代码正常运行。