我想换出一个tableview的内容。数据源具有带有标志的元素,表示是否应显示它们。如何仅在UITableView中显示数据源的子集?
最终,我希望能够交换显示的内容,具体取决于标志。不过,现在我会解决以下问题的答案。
我的表格如何只显示数据源的一个子集?
我是不是要求[tableView重载],这似乎是我的大多数搜索产生的。我只想根据标准(在本例中为标志)仅显示一些数据源项目。
作为一个清晰的例子,下面是一个功能样例。
我们在数组中有50个朋友元素。它是我们餐桌的数据源。当我们加载应用程序时,显示所有50个朋友。
其中20个朋友在Friend类中被标记为“Awesome”。当您点击真棒按钮时,这20个显示在表格中。
其中10个在Friend类中被标记为“Lame”。当您点击Lame按钮时,这10个显示在表格中。
我需要看什么方法才能实现这个目标? TableView的讨论非常庞大,迄今为止我一直在查看错误和错误,但没有取得令人满意的结果。
总之,这不是直接可能的。使用给定答案的组合来完成它。 – Till 2013-02-27 01:32:14
下面的答案解决了您的问题,但关键是您误解了“数据源”的含义。 tableview显示数据源提供的内容。这取决于数据源对数据进行过滤,排序,合并,转换或以其他方式处理数据到表格所需的格式。您正在将数据源与模型混淆。模型应该与数据源分开,并且数据源过滤,分类等从模型中检索的东西。 – 2013-02-27 01:34:05
谢谢你,@RobNapier。这就说得通了;我从来不知道在整个数据源中MVC阈值是如此。 – Danny 2013-02-27 01:35:35