2011-06-03 60 views
1

我正在研究一个iPhone应用程序,它将涉及很多表单。目前我有一个ViewController类,每个设置页面都有一个UITableView加载了可能的设置。当有人点击一个设置时,他们被带到一个新的视图来输入表单值,或允许输入的东西。ios/iphone sdk表单管理最佳实践

什么让事情干的最好方法?这些实现的哪些部分可以实施一次并重新使用?

当有人点击我如何创造这一观点,并添加一个文本字段根据代码的数据类型(的UITextField或选择器或别的东西),它进入到一个新的视图设置选项?

回答

6

可以通过编程方式:

create view hierarchy

UIButton

UILabel

你的想法。

不过,我会建议让你的逻辑少数的情况下工作,然后你发现自己在同样的事情一遍又一遍键入它应该成为明显的哪些部分是多余的。在这一点上,重构将冗余代码转换为可重用的形式。

HTH。

+2

+1代码优先,重构后。编码两种形式,如果它不是一个柔术手段,则重构捕捉共同点,然后添加第三种形式等等。 – 2011-06-03 17:30:28

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的选择行相关的设置。

如果您的形式是很静,你应该考虑,以尽量减少所需的代码量使用厦门国际银行。它不是一个完美的答案,你的“如何保持干燥”,但它的整洁不够;)

好运。