Cocoa 如何保持MVC!!:)

Cocoa 如何保持MVC!!:),cocoa,model-view-controller,nsnotification,Cocoa,Model View Controller,Nsnotification,我对编码非常陌生,但我正努力不惜一切代价维护MVC设计模式 我有一个应用程序,通过它可以选择一个tableview,并将其推送到一个新的tableview。plist和dictionary在model类中处理,它返回一个填充tableview的数组。当选择一个阵列时,我是否会将该信息发送给控制器,然后进行某种查询以获取下一个阵列,因为我认为我无法从视图切换到模型?我听说过NSNotification,我是否应该以某种方式设置它,以便模型“知道”所选内容?从MVC的角度来看,所有应用程序逻辑都应该

我对编码非常陌生,但我正努力不惜一切代价维护MVC设计模式


我有一个应用程序,通过它可以选择一个tableview,并将其推送到一个新的tableview。plist和dictionary在model类中处理,它返回一个填充tableview的数组。当选择一个阵列时,我是否会将该信息发送给控制器,然后进行某种查询以获取下一个阵列,因为我认为我无法从视图切换到模型?我听说过NSNotification,我是否应该以某种方式设置它,以便模型“知道”所选内容?

从MVC的角度来看,所有应用程序逻辑都应该驻留在控制器本身中。现在你自己决定吧


但是,我不太清楚您想做什么。

在您的情况下,将模型数据直接传递到下一个tableview是完全正确的。在这种情况下,管理第一个tableview的控制器将把模型数据传递给下一个控制器(如果您使用的是导航控制器,则会推送下一个控制器)。从MVC的角度来看,这是完全可以接受的,这是做这类事情的一种非常常见的方式。

为不够清晰而道歉。我有一个包含12个对象的表,它是从plist填充的。当选择一个时,它“深入”到另一个表,该表由plist的第二个“级别”填充。在didSelectRowAtIndexPath方法中,我可以将“selected”单元格的信息传递到某个地方。这是否会转到控制器,然后控制器会再次从模型请求下一个阵列?现在我已经试着澄清了,可能像泥浆一样清澈!!这就是路。您将传递选定的模型对象(例如NSDictionary),该对象将用作设置“子”控制器和视图的源。您还可以从当前单元格数据中传递字符串并从中获取实际对象,但这可能需要更多的工作和更多的重复代码。非常感谢您的回复!我以前这样做的方式是使用一个属性(即一个带有选定单元格标题的字符串)并在didSelectAtIndexPath方法中设置该属性。那么,这仍然是一种有效的做事方式吗?或者你是说有点不同?听起来完全正确。您通常在DidSelectRowatineXpath:中创建视图控制器,通过属性或方法配置视图控制器,然后以某种方式呈现它。非常好,这非常有用,先生!这个问题似乎离题了,因为它是关于编码风格的。这在程序员堆栈交换上可能更好。