Iphone 常规UITableView问题(切换TableView的内容…)

Iphone 常规UITableView问题(切换TableView的内容…),iphone,uitableview,Iphone,Uitableview,我有一个关于UITableView的一般性问题 这是我的情况 我有一个带有几个按钮的视图和一个UITableView,按下按钮,UITableView的内容应该会改变。我使用自定义表格单元格(每个单独表格中的单元格相同),但内容当然不同 我不确定在我的视图中定义3个UITableView实例并在单击按钮时在它们之间切换是否是一种好的做法 此外,我不知道当按下其中一个按钮时,我的程序应该做什么(销毁旧视图?如何设置新视图?将新vie覆盖在旧vie上?然后在按下另一个按钮后如何恢复旧视图) 如你所见

我有一个关于UITableView的一般性问题

这是我的情况

我有一个带有几个按钮的视图和一个UITableView,按下按钮,UITableView的内容应该会改变。我使用自定义表格单元格(每个单独表格中的单元格相同),但内容当然不同

我不确定在我的视图中定义3个UITableView实例并在单击按钮时在它们之间切换是否是一种好的做法

此外,我不知道当按下其中一个按钮时,我的程序应该做什么(销毁旧视图?如何设置新视图?将新vie覆盖在旧vie上?然后在按下另一个按钮后如何恢复旧视图)

如你所见,有很多相当笼统的问题。。也许我搜索的方法不对,但我在网上找不到一篇能为我提供必要信息的文章

谢谢你的回复! 问候


sam

我真的取决于您如何在TableView之间转换,以及它们的样式。如果在切换表时没有任何类型的动画,并且它们的大小都相同,那么我建议使用单个视图,并在委托/数据源方法中执行必须执行的操作。如果显示“表1”,则返回一组数据,“表2”返回另一组数据


但是,如果表的样式不同(分组与普通),则需要有不同的视图。此外,如果您正在为一个表设置动画,而另一个表正在绘制,则需要多个视图。只需在IB中布局三个表,但将其中两个表设置为“隐藏”。切换时,隐藏当前可见的表并显示新表。或者,您可以使用+[UIView beginAnimation:context:]淡出旧的一行,淡入新的一行。

首先,您可以采用任何一种方式,并且您可能不会注意到任何差异,除非您的TableView每个都有1000多行

iPhone的运行速度比你想象的要快

话虽如此,内存是你最宝贵的资源,在某些情况下,使用太多会导致你的应用程序关闭


我的建议是使用一个tableview,只需交换数据源。

非常感谢您的帮助。我目前正在实现几个TableView/控制器,并按照您的建议隐藏/显示它们。唯一让我有点担心的是,我可能需要大约8个桌面视图。也许bentford单独交换数据源的方法会是一种更合适的方法。。另一方面,我可能需要在将来的某个时候添加一些特定于表的详细信息。。。无论如何,非常感谢你,祝你有一个愉快的一天!谢谢你的帮助,我现在已经按照ben gottlieb向我解释的方式解决了我的问题。不过,我也尝试实施您的解决方案。我遇到过这样的问题,在切换数据源之后,我的TableView没有得到“新数据”的更新:[tableViewInstance setDataSource:nextController];[tableViewInstance setDelegate:nextController];[tableViewInstance重新加载数据];我肯定我错过了一些东西,现在不知道是什么。再次感谢你的帮助,山姆