0
我在控制器对象中有一堆插座需要传递另一个控制器。如果它只有2或3个值,我只是将它们作为参数传递给委托方法(不是直接插入网点,而是通过将值复制到变量)将数据传递给委托
但是,这里有不少。处理这个问题的最好方法是什么?我看到三种方法:
我可以创建一个新的对象来保存所有这些属性并通过它。
我可以在代理方法
[self.delegate didClickDone:self]
中传递控制器。这种方法的问题是:我是否允许从外部访问另一个控制器的网点?我可以按照第二个选项,但将每个插座的值复制到一个属性,并允许其他控制器通过访问器方法访问它们。
解决此问题的最佳方法是什么?
那么,对象基本上是混合的。它们只是控制器拥有的窗口中的数据。有些是字符串,一些数字和一些BOOL。我猜我应该创建一个名为“Parameters”的新对象并将其传递给委托方法? 将参数对象传递给程序的模型也是明智的吗?因为这是其他控制器中的委托方法最终会做的事情。 – saad 2011-06-16 15:36:54
@Saad Abbasi我甚至会去:更新模型,然后不要将数据作为对象或数组传递,并让其他实例访问模型!由于模型应该保持当前状态。 – 2011-06-16 15:41:15
尝试理解你在这里所说的内容:而不是传递'parameter',我应该在控制器中拥有一个指向程序模型的属性。一旦控制器从窗口获得值,它应该直接通知模型,而不是通过其他控制器?我觉得我完全偏离了这里,并不理解你的意思。准确地说,我有两个控制器:'SheetController'和'AppController'。前者的目的是处理表单并将数据返回给调用表单的人员,我通过代表执行此操作。 – saad 2011-06-16 15:53:38