2012-02-08 101 views
0

我有一个客户视图控制器,它是UITableViewController的子类。它有一个列出所有客户的列表。我在右上角有一个+按钮。我想这样做,当人们点击+时,它会转到添加客户屏幕,点击保存后,它会像iPhone联系人列表一样行事,然后显示新添加的客户。iPhone:查看/编辑/列表控制器

我需要为每个视图创建一个控制器吗?一个显示列表,一个添加人员和一个查看联系人,然后另一个编辑联系人?或者我应该使用一个控制器,并将IB中的一些视图添加到单个视图控制器中?

回答

1
  1. 创建CustomerListController以查看所有客户。
  2. 创建一个CustomerViewController用于查看和编辑细节。
  3. 子类CustomerViewController称它CustomerAddController创建,因为这将需要多一点的功能。

Core Data Recipes应用程序会给你一些好的指针。

如果你希望它只是创造纪录后你点击保存,你需要:

  1. 创建一个额外的NSManagedObjectContext,假设你使用核心数据。
  2. 将该上下文传递给CustomerAddController类的实例只有(视图类不需要)。
  3. 保存按钮被击中时,您需要合并CustomerListController中的两个NSManagedObjectContext类。
0

我相信联系人应用程序做它的方式是:

  • 联系人列表是一个UINavigationController
  • 触摸+模态呈现一个UITableViewController(从导航控制器)的不同视图控制器添加联系人
  • 触摸完成将一个新的视图控制器到用于查看新创建的接触导航控制器,但仍由于模态呈现接触加入视图控制器是在顶部它是不可见的。紧接着,模态视图控制器被解散,显示新创建的联系人。

要回答你的问题,我建议使用三个不同的视图控制器,就像联系人应用程序。

0

我建议你使用不同的视图为每一个任务,因为使用一个IB文件使用那里,如果你使用不同的IBS和视图控制器每个任务那么就没有太多的内存使用和完成一个任务后,更多的内存例如,当您保存用户详细信息时,可以释放该视图的内存,以便您的应用程序不占用太多内存。