所以我开始读这本书:http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022
第二章介绍了MVC设计模式,并给出了需要澄清的例子。
这个简单的示例显示了一个包含以下字段的视图: hourlyRate、WorkHours、Standarthour、salary。
该示例分为3个部分: View -包含一些文本字段和一个表(该表包含员工数据列表)。
控制器-由NSArrayController类组成(包含一个MyEmployee数组)
Model -描述员工的MyEmployee类。MyEmployee类有一个方法,根据计算逻辑返回工资,属性根据视图UI控件返回。MyEmployee继承自NSManagedObject。
有几件事我是不确定的: 1.在MyEmplpyee类实现文件中,计算方法使用类似于“[self valueForKey:@" hourlyRate”floatValue];“这样的语句获取类属性。
我不太确定它是如何工作的,以及它是如何从正确的视图字段获取值的。(它是否必须与视图中的字段名称相同)。也许连接是使用接口构建器以某种方式建立的,并且没有在书中显示?
更重要的是: 2.它如何将视图从模型中分离出来?假设,正如这本书所暗示的那样,有一天我决定删除视图中的一个字段。据我所知,这意味着改变MyEmplpyee中薪水方法的工作方式(因为我们少了一个字段),并从同一个类中删除了一个属性。那么,如果更改一个反射到另一个上,如何将视图从模型中分离出来?
我想我搞错了..。有什么意见吗?谢谢
发布于 2010-05-20 19:08:18
valueForKey:方法的实现将在here中讨论。注意,valueForKey:实际上可以直接访问NSTableView,而不需要调用任何方法。https://stackoverflow.com/questions/2872556
复制相似问题