我想在单击表视图标题时实现“扩展”行为。为此,我有NSDictionary,它具有格式键->值数组中的所有数据。

我想要的是,创建其他字典,复制首字母,然后删除其中的数组中的所有数据。因此,在初始加载时,我们的表将看起来像“关闭”标题,在每个表上点击后,它将折叠并显示与给定键相对应的值。重新点击标题后,它将“关闭”并隐藏值。

所以,基本上我想:

1)枚举NSDictionary并从数组中删除所有数据(或创建新的空数组)
2)动态添加/删除给定密钥的数据

有没有简单的方法可以做到这一点?

最佳答案

这个怎么样:

NSMutableDictionary *newDict = [NSMutableDictionary new];
for id aKey in tableDict {
  newDict[aKey] = [NSMutableArray new];
}
tableDict = newDict;
[tableView reloadData];


编辑:

清除单个键

tableDict[specificKey] = [NSMutableArray new];


要将数组从一个键复制到另一个:

tableDict[specificKey] = [((NSMutableArray *)tableDict[otherKey]) mutableCopy];

10-08 16:55