关于模型变更和通知的设计问题 - 可可

时间:2011-06-14 22:22:07

标签: objective-c cocoa macos

我有一个类A,它是一个包含remove方法的NSView,这个方法从一个从Model类中提取的数组中删除项。

B类也是一个NSView,它根据这个Model类绘制一些东西。

我的问题是,当A类修改模型集合时,B类不会收到更改通知,并且其视图未正确更新。

我以为我可以将B级注册到通知中心,但我不认为我做对了....感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果没有看到您的代码,很难找出最佳解决方案。我认为最好的方法(取决于应用程序的复杂性)是在模型和视图之间建立一个控制器类,它将更新模型并在单个方法中提醒视图更改。这是一种观察者模式。或者,您可以在模型中使用一种更新方法来调用类B中的方法,让它知道模型更新。这将要求模型保存指向A类和B类实例的指针。