gpt4 book ai didi

cocoa - MVC - Cocoa 界面 - Cocoa 设计模式书

转载 作者:行者123 更新时间:2023-12-03 17:26:47 24 4
gpt4 key购买 nike

所以我开始阅读这本书: http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022

第 2 章解释了 MVC 设计模式,并给出了我需要一些说明的示例。

这个简单的示例显示了包含以下字段的 View :小时费率、工作时间、标准时间、工资。

该示例分为 3 部分: View - 包含一些文本字段和一个表格(该表格包含员工数据列表)。

Controller - 由 NSArrayController 类组成(包含 MyEmployee 数组)

模型 - 描述员工的 MyEmployee 类。MyEmployee类有一个方法,根据计算逻辑返回工资,和属性符合 View UI 控件。MyEmployee继承自NSManagedObject。

有几件事我不确定:1.在MyEmplpyee类实现文件中,计算方法使用如下语句获取类属性“[[self valueForKey:@"hourlyRate"] floatValue];"但是, header 内没有名为 hourlyRate 的数据成员或任何 View 字段。

我不太确定它是如何工作的,以及它如何从正确的 View 字段获取值。 (是否必须与 View 中的字段名称相同)。也许连接是使用界面构建器以某种方式进行的,并且没有在书中显示?

更重要的是:2.它如何将 View 与模型分开?假设,正如书中暗示的可能发生的情况,我决定有一天删除 View 中的一个字段。据我了解,这意味着更改 MyEmplpyee 中工资方法的工作方式(因为我们少了一个字段),并从同一类中删除一个属性。那么,如果更改一个 View 会影响另一个 View ,那么如何将 View 与模型分开呢?

我想我弄错了...有什么意见吗?谢谢

最佳答案

  1. 讨论了 valueForKey: 方法实现 here 。请注意,valueForKey:实际上可以直接访问ivars,而无需调用任何方法。

  2. 如果您从 NSTableView 中删除一列,则不必将其从模型对象类中删除。它仍然在那里,只是没有显示。

关于cocoa - MVC - Cocoa 界面 - Cocoa 设计模式书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com