Ank*_*ava 2 design-patterns objective-c ios
可以将两个对象作为彼此的参数吗?我的场景是我有一个以两种模式显示的视图..第一种:创建模式,第二种:编辑模式
在创建模式下,所有字段都是空的,我从视图中获取数据,用户填写并更新我的数据模型.
在视图模式下,我从我的数据模型中填充视图.
这是使用溢出的视图控制器完成的(因此我被迫使用委托).我希望我能更好地解释这一点,但这是我能做的最好的事情.截至目前,我正在使用代表团从A到B进行通信,从B到A进行通知.
如果我以两种方式使用授权,这是否可行?或者是否有任何复杂性我无法预见?
可能会出现一些问题,但如果采取必要的预防措施,那就没关系:
确保两个代表都被弱引用.这意味着@property (weak)在ARC或@property (assign).这将防止发生保留周期.
确保您没有遇到委托方法调用另一个控制器的委托方法的情况,该方法在第一个控制器中调用相同的委托方法,依此类推.如果你不小心,你可以轻松获得无限循环.
在这种情况下讨论或讨论这是否是最佳设计模式并不属于SO.但是如果你小心这样做就可以这样做,这就是你问题的答案.