1

所以我在 Cocoa 中有一个 MVC 应用程序。
有一些自定义视图、控制器和模型。当然,视图需要知道一些东西,所以它们从控制器获取数据。但是,他们不使用控制器中的访问器,他们使用带有直接调用模型的键路径的 KVC:

// In view.m
time = [timeSource valueForKeyPath:@"theModel.currentTime"];
// timeSource is a pseudo-delegate of the view that holds the controller

这大大简化了事情,从技术上讲,视图仍然不知道模型(即指针)。但当然,他们直接访问它。

这是 KVC 和 MVC 的通常(或至少是明智的)用法吗?
或者你将如何实现这种沟通?

4

1 回答 1

1

对我来说,这似乎非常接近“了解”模型。我不知道大多数人是如何做到的,但我更有可能在控制器上创建属性。我会避免这种情况的原因是,如果您更改模型,视图就会中断。据我了解,MVC 的主要优势之一是,如果您更改模型,则不必更改视图。

于 2010-04-01T00:05:53.213 回答