我在字典里面和
里面有一组数据- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
方法我想从这个字典中获取数据。我们如何为每个indexPath.row获取对象。
一种方法,我想到的是获取keys数组,然后根据indexPath.row从这个数组中获取对象,然后使用这个键来获取字典对象。
请建议。
答案 0 :(得分:2)
字典不是像数组那样的有序集合,所以你建议的方法可能就是这样......取决于你希望如何呈现数据(按键/值排序)。
答案 1 :(得分:0)
这不是一个好习惯,因为没有定义字典键的顺序。
如果您的数据必须是字典,那么您必须提供显示字典的键和表的索引路径的显式信息。
例如,您可以使用另一个数组,其中字典的键按照您在表中查看对象的顺序排序。
答案 2 :(得分:0)
您的商品如何在表格中排序?订单重要吗?这个问题没有一个简单的答案。您确定需要保留数据字典吗?我的方式,您有以下选择:
调用[dictionary allValues]获取所有值的数组。然后,您可以按照您希望的方式对其进行排序,并在索引indexPath.row处返回该项。回退是你需要为每一行排序数组,如果你有很多项目,这是不理想的。它可能会使你的滚动波涛汹涌。
保留字典的排序数组版本的副本,并确保在更新字典时更新它。这更适合于不经常更改的大型数据集。您可以将字典和数组包装在一个类中,以保持两者同步。
您需要根据数据的含量来衡量缺点。