MVC:Controller保存模型对象或视图对象的数组?

时间:2012-10-29 08:23:46

标签: objective-c ios model-view-controller conceptual

我有一个视图控制器placeViewController,它会引入一堆Place个对象,并从这些加载中填充一堆匹配的PlaceView个对象,然后将这些对象显示为子视图。主要观点。

我需要定期更新这些视图,这需要将模型和其他地方的信息推送到视图中

我该如何正确地构建它?

  • 保留一组Place个对象,并为模型提供PlaceView属性以存储指向视图的指针

  • 保留一组PlaceView个对象,并为视图提供Place属性以存储指向地点的指针

  • 保留两个数组并使用大量indexOfObject objectAtIndex在它们之间跳转

  • 其他方式??

2 个答案:

答案 0 :(得分:0)

  

我需要定期更新这些需要信息的视图   从模型和其他地方被推入视图

你应该专注于ObserverPattern。您的观看次数注册为“通知”,并且在进行更改时,会通知您的注册视图。

http://en.wikipedia.org/wiki/Observer_pattern

你仍然可以使用NSNotificationCenter,但它不会满足你的需求,因为你需要你的视图使每个Place对象更新(像字典一样配对)。所以我建议你实现自己的。 它将松散耦合,因为你的控制器只会在观察者和你的视图之间粘合,所有的“逻辑”都将由观察者处理。

答案 1 :(得分:0)

嗯,basvk在他的评论中得到了答案,但是没有给我一个真正的答案来标记正确。

所以这就是:“我会创建一个NSMutableArrayPlaceView个对象。PlaceView类包含@property Place *place