我正在构建一个主从应用程序,其中详细视图可能包含近 100 个字段。模型对象使用外部库来访问文件中的元数据,不需要 100 个属性;从文件中检索数据并用结构表示。这些字段由枚举标识,并使用 Find(Enum) 方法或使用由 lib 提供的迭代器访问,该迭代器迭代元数据中存在的所有字段。
我想利用库中的枚举/查找/迭代器,而不必使用带有 getter/setter 的 100 个属性和 UI 中文本字段和其他控件的 100 个出口。
类似于我在使用这个库的程序中看到的一种方法,我希望有一个 getter 和一个 setter,以及一个基于元数据的枚举 FieldId 的 switch()。在 getter 和 setter 中,我想以编程方式访问 UI 中的相应文本字段或其他控件,以根据需要获取或设置值。
当用户在主视图中选择一个文件时,getter 将遍历所有详细字段并显示相关元数据字段的值。当用户保存文件时,我需要遍历更改的字段并使用适当的 FieldId 枚举调用设置器。
我是 Cocoa/Obj-C 的新手,我能想到的只是绑定——但我可以将字段绑定到方法吗?我可以使用绑定将适当的元数据 FieldId 传递给 getter/setter 吗?
在这种情况下,拥有 100 个网点真的合适吗?我是否应该考虑另一种程序架构,其中字段/出口在逻辑上分组并划分为多个类?