【发布时间】:2009-07-04 03:08:26
【问题描述】:
在与 django 合作大约两年后,我开始涉足 iPhone 开发。当我完成教程和阅读文档时,iPhone 开发中使用的各种库让我感到不便的一件事是为数据模型创建用户输入表单时所需的重复量。
我知道创建用户输入表单的两种常规方法:
在 Interface Builder 中创建一组与模型类上的属性相对应的 UITextField,并将它们链接到自定义表单控制器上相应的 IBOutlets。
使用自定义表单视图控制器类的表中的 UITextField 以编程方式创建表单视图。该类将与模型属性对应的名称列表保存在数组中,然后遍历数组以为每个表格单元格创建 UITextField。使用特殊的大小写来确定正在迭代的模型属性,并使用该信息创建具有相应 UILabel 和 UITextFields 的表格单元格。*
在两者中,只有第一个似乎对迭代开发很实用,第二个非常冗长并且(对我来说)阅读起来非常困难。借助 Objective-C 的内省功能,似乎可以编写接受模型类作为参数的代码,并在运行时根据该信息生成表单控制器(甚至可能是表单视图)。
所以我有三个问题:
除了我上面列出的两个模型之外,是否还有传统的替代方法可以为模型创建表单视图和控制器?我不喜欢上面列出的任何一种方法。
在 Objective-C 中运行时自动生成表单控制器/视图是否可行,还是我只是在找错树?
是否已经尝试或完成了这种自动生成? (有点谷歌搜索没有发现)
*我对此的主要参考来自第 9 章中的示例 #6:Apress 的导航控制器和表格视图“Beginning iPhone 3 Development”
【问题讨论】:
标签: iphone objective-c django cocoa-touch model-view-controller