查看交换技术

问题描述

| 我想听听开发人员关于在iPhone上交换视图的最佳方法的意见。 例如,我有一个选项卡栏,其选项卡之一认为登录视图。当用户登录视图时,将更改为已登录视图。 我将只使用一个视图控制器,并在一个xib中隐藏所有内容,并根据需要显示内容,但这似乎绝非易事。 其次,我正在考虑使用一个viewcontroller并简单地交换xib。我有点不情愿,因为我已经读过一篇文章或2,因为它可能导致内存泄漏。 最后,我正在考虑将2个视图控制器与2个单独的xib一起使用。我的直觉告诉我,这可能是“适当的”解决方案,但到目前为止,我仍未能以正确的方式找到任何示例代码。 您能否提供解决此问题的最佳方法的建议? 有没有我未列出的技术? 谢谢。     

解决方法

我会保留要在视图控制器中显示哪个视图的逻辑。 XIB是视图本身,并且其中不应包含对于该特定视图而言是瞬时的或不总是可见的对象。 您的第二种方法(交换意见)似乎对我来说是正确的方法,并且在这些情况下,我个人总是这样做。如果操作正确(从超级视图中删除,然后将新视图作为控制器视图的子视图加载),我不知道任何内存问题。一旦加载了新的XIB,并且可以向用户显示,您可以执行任何自定义初始化。 多视图控制器似乎是多余的,因为理想情况下您需要另一个顶级控制器来管理两个视图控制器。