以我具体例子我有一个标签栏控制器的选项卡2内的导航控制器,根导航控制器视图具有三个按钮: “最近的商店” - 这推动包含与最近存储的MapView的图,点击店铺引脚将推动商店详情视图。 “所有商店” - 这会推送包含列出所有商店的表格视图的视图,单击一行将推动商店详情视图。 '商店搜索' - 这推动了一个包含文本框的视图,该文本框允许城镇/邮政编码搜索出现在桌面视图中的最近的商店,单击一行将推动商店详情视图。iphone如何实现在多个地方使用的视图?
我的问题是商店的细节应该如何看待实施,因为它会被推到从多个父视图。
我现在有每个父视图,最近的商店视图,所有商店查看,存储搜索视图,包含的存储细节一个单独的实例视图被分配存储器并被推到视图控制器在必要时控制器。我担心的是,如果通过这3条路径访问商店详情视图,那么在内存中将有3份商店详细信息,因为我不确定这些信息何时会自动发布。
我的想法是,实现此的另一种方式是让的商店的详细信息的实例从主导航根控制器与三个按钮查看控制器。 从任何最近的商店,所有商店,商店搜索视图中,如果需要访问商店详细信息视图,则会从导航控制器中弹出当前视图,并且会运行根控制器中的某个方法以推送商店详细信息视图上。这意味着在内存中只有一个存储细节视图实例,因为每次访问它时都会重用它。
由于弹出并推送到商店详细信息视图不会被动画,因此当用户点击后退按钮时,用户可能会感到困惑,因为它们将最终位于根视图控制器上,而不是它们的视图以前。
这是实现这种视图结构的好方法吗?我不确定我是否理解iPhone如何在内存中保留视图,并且如果下去这种替代路线将会是有益的或浪费时间。
感谢您的任何帮助。
感谢您的答复!这听起来完全合理,我使用单例对象来获取全局可访问的数据,例如登录用户的详细信息,但以这种方式使用视图从来没有发生过。 – mart 2011-05-25 09:25:05