创建“添加”视图控制器的最佳方法

时间:2011-01-14 09:16:09

标签: iphone cocoa-touch uitableview modalviewcontroller

我有一个包含Project对象列表的表视图。选择项目后,将显示详细视图。很标准。实现“添加”功能的最佳方法是什么(弹出模态视图控制器来输入新值并保存项目)?

目前我有根视图,详细视图和添加视图的视图控制器。基本上,细节视图和添加视图完全相同,除了保存和放大。在添加视图中取消按钮。是否可以在添加视图中重用详细信息视图?

最后,在分组表视图中显示项目属性列表的最佳方法是什么??

感谢您的回复。

2 个答案:

答案 0 :(得分:1)

最有可能的是,您已经在细节视图控制器中传递了一个托管对象,它应该在详细视图模式下显示。当用户决定添加新项目时,只需创建一个空白对象,将其传递给详细控制器并显示它。 (您可能希望将此空白对象插入另一个“空”托管对象上下文,以防用户取消添加进程,以避免在这种情况下必须清理主要托管对象上下文。)

详细视图控制器还需要一个标志,告诉它是处于编辑模式还是添加模式,以便它可以相应地调整其控件(并可能将它发送给它的所有者的消息委托给它)。在显示控制器之前,您可以将标志设置为适当的值。

答案 1 :(得分:0)

听起来你正在寻找一个UINavigationController。 UINavigationController允许您在现有控制器之上推送新的视图控制器。它在顶部提供了一个导航栏,允许用户返回根控制器。我认为这是Apple在默认电子邮件应用程序中使用它的那种控制器,为您举个例子。

关于组织:您设计根视图控制器和详细信息/添加视图控制器。在您的app委托中,您将UINavigationController附加到窗口,并将其根控制器设置为要显示的主控制器。然后,根控制器可以将添加/详细控制器推送到堆栈上(当它执行此操作时,它可以告诉添加/详细控制器显示哪些类型的按钮。)

我无法回答您的分组属性问题,但无论如何它听起来像是一个单独的问题。