1

我正在开发一个涉及很多表单的 iPhone 应用程序。目前,我为每个设置页面都有一个 ViewController 类,它有一个加载了可能设置的 UITableView。当有人点击一个设置时,他们会被带到一个新的视图来输入表单值,或者允许他们在适当的位置输入内容。

保持干燥的最佳方法是什么?这个实现的哪些部分可以实现一次并重复使用?

当有人单击进入新视图的设置选项时,我如何创建此视图并根据代码中的数据类型(uitextfield 或选择器或其他内容)添加文本字段?

4

2 回答 2

6

您可以以编程方式:

创建视图层次结构

用户界面按钮

UIL标签

你明白了。

但是,我建议让您的逻辑适用于一些情况,然后当您发现自己一遍又一遍地输入相同的内容时,应该清楚哪些部分是多余的。此时,重构以将冗余代码转换为可重用的形式。

HTH。

于 2011-06-03T17:16:54.980 回答
1

如果您有一个 tableView,流程是在您的 tableView 委托的 didSelectCell 方法中创建所选设置的 viewController 并将其推送到当前 viewController 的导航控制器。

这是一个示例:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self.navigationController pushViewController:[self settingsViewControllerAtIndexPath:indexPath] animated:YES];
}

所以你必须实现该方法:

 - (UIViewController*)settingsViewControllerAtIndexPath:(NSIndexPath *)indexPath;

这将返回 viewController 管理与您的根 tableView 的选定行关联的设置。

如果您的表单非常静态,您应该考虑使用 xib 以尽量减少所需的代码量。这不是您“如何保持干燥”的完美答案,但它足够整洁;)

祝你好运。

于 2011-06-03T17:46:17.963 回答