【发布时间】:2012-10-07 19:34:17
【问题描述】:
所以我从来不知道 titleForHeaderInSection 和基本上分组的 UITableView 是如何工作的。我放弃了尝试创建一个并最终暂时使用普通列表。如果可以解释以下任何一点,我将不胜感激:
理解它...
如果我想要一个分组的 UITableView,我知道我需要使用 numberOfSectionsInTableView 返回我想要的多少组(部分)。说,返回 3。
然后我需要返回每个不同部分的行数,对吗?我可以在 numberOfRowsInSection 中做到这一点。比如说,第一部分返回 2,第二部分返回 4,第三部分返回 6,对吧?
如果我希望每个部分都有不同的标题,我需要使用 titleForHeaderInSection,但我发现使用起来很棘手。但是,我似乎只需要获取节整数并使用 objectAtIndex 将标题设置为节的数组,对吗?
在 cellForRowAtIndexPath 中,我需要对部分或如何显示单元格做任何事情吗?好像没有,但我不确定……
问题
我的数据的结构是这样的(它是一个 JSON 数组,每个数组条目中都包含字典):
ArrayItemOne
DictionaryKeyOne:DictionaryValueOne
DictionaryKeyTwo:DictionaryValueTwo
ArrayItemTwo
DictionaryKeyOne:DictionaryValueOne
DictionaryKeyTwo:DictionaryValueTwo
ArrayItemThree
DictionaryKeyOne:DictionaryValueOne
DictionaryKeyTwo:DictionaryValueTwo
我的section标题其实就是上面所有3个ArrayItemFoo中的DictionaryValueTwo,而且是动态的,不知道今天明天有多少,来自JSON。然后我创建了一组独特的并计算它。那是我的 numberOfSectionsInTableView。
但是,只有当它们的 DictionaryValueTwo 与部分标题匹配时,我才能在每个不同部分中按此 DictionaryValueTwo 对我的行进行分组?现在我无法控制每个部分的行数,一团糟,我很困惑。
想象一下:所有事件都有一个日期,我的部分是不重复的事件日期,但我的事件只需要显示在与其日期匹配的部分中。而已。我太愚蠢了,无法理解分组 UITableView 是如何工作的......
我的代码
我已经使用普通列表编写了一个 UITableView,它有一些用于分组列表的注释,如果它有助于理解我的问题:http://github.com/caio1982/CorreCuritiba/blob/master/iOS/CorreCuritiba/CorreCuritiba/CCMasterViewController.m
再次重申:一些示例解释的代码会很棒,但这不是强制性的,我真的很想了解分组的 UITableView、概念、机制。
是的,我搜索了所有内容,但没有找到与我面临同样问题的人。
【问题讨论】:
标签: iphone objective-c ios uitableview