UITableView包含多个词典的多个部分

时间:2011-11-29 17:13:02

标签: iphone objective-c ios cocoa-touch ipad

我正在努力解决这个问题,并且好奇是否可能在一个UITableView中包含多个NSDictionary内容的多个部分?我一直试图弄清楚这一点,看看是否有人遇到过这个问题以及他/她是如何解决这个问题的?

我在numberOfRowsInSection方法中有隔离计数,但在cellForRowAtIndexPath我在如何使用不同词典分隔部分时遇到了一些问题。

2 个答案:

答案 0 :(得分:1)

CellForRowAtIndexPath接收indexPath参数作为输入。 indexPath.section属性告诉您单元格所在表的哪个部分,indexPath.row告诉您该部分中的哪一行。如果每个部分都有一个单独的字典,那么你可以在indexPath.section上进行切换,并从该行的相应字典中获取数据。

答案 1 :(得分:1)

如果我理解正确,则每个部分使用1个字典。

字典是无序的,因此您必须以某种方式以有序的方式保留密钥 您可以按照要显示的顺序将Dictionary放入数组中。 这就是NSIndexPath的部分内容。

aDictionary = [arrayOfDic objectAtIndex:indexPath.section];

如果您想按升序显示该字典的内容或您的密钥,您可以执行以下操作:

anArray = [[aDictionary allKeys] sortedInSomeWayWithSomeSelector];
someObjt = [anArray objectAtIndex:indexPath.row];

然后你有NSIndexPath的行 这非常通用,您必须根据代码进行调整 而且我更愿意缓存orderedKey,因为在每一行进行排序都会浪费资源,但你有了一般的想法。