我正在开发一个涉及很多表单的 iPhone 应用程序。目前,我为每个设置页面都有一个 ViewController 类,它有一个加载了可能设置的 UITableView。当有人点击一个设置时,他们会被带到一个新的视图来输入表单值,或者允许他们在适当的位置输入内容。
保持干燥的最佳方法是什么?这个实现的哪些部分可以实现一次并重复使用?
当有人单击进入新视图的设置选项时,我如何创建此视图并根据代码中的数据类型(uitextfield 或选择器或其他内容)添加文本字段?
我正在开发一个涉及很多表单的 iPhone 应用程序。目前,我为每个设置页面都有一个 ViewController 类,它有一个加载了可能设置的 UITableView。当有人点击一个设置时,他们会被带到一个新的视图来输入表单值,或者允许他们在适当的位置输入内容。
保持干燥的最佳方法是什么?这个实现的哪些部分可以实现一次并重复使用?
当有人单击进入新视图的设置选项时,我如何创建此视图并根据代码中的数据类型(uitextfield 或选择器或其他内容)添加文本字段?
如果您有一个 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 以尽量减少所需的代码量。这不是您“如何保持干燥”的完美答案,但它足够整洁;)
祝你好运。