【问题标题】:Explanation on how UITableView's grouped sections and their titleForHeaderInSection work?解释 UITableView 的分组部分及其 titleForHeaderInSection 是如何工作的?
【发布时间】:2012-10-07 19:34:17
【问题描述】:

所以我从来不知道 titleForHeaderInSection 和基本上分组的 UITableView 是如何工作的。我放弃了尝试创建一个并最终暂时使用普通列表。如果可以解释以下任何一点,我将不胜感激:

理解它...

  1. 如果我想要一个分组的 UITableView,我知道我需要使用 numberOfSectionsInTableView 返回我想要的多少组(部分)。说,返回 3。

  2. 然后我需要返回每个不同部分的行数,对吗?我可以在 numberOfRowsInSection 中做到这一点。比如说,第一部分返回 2,第二部分返回 4,第三部分返回 6,对吧?

  3. 如果我希望每个部分都有不同的标题,我需要使用 titleForHeaderInSection,但我发现使用起来很棘手。但是,我似乎只需要获取节整数并使用 objectAtIndex 将标题设置为节的数组,对吗?

  4. 在 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


    【解决方案1】:

    这很有帮助。

    IPhone JSON to TableView

    技巧是将每个数组项视为一个部分。

    【讨论】:

      【解决方案2】:

      Gustavo Boiko 的补丁很好地解释了它应该如何工作。毕竟我的数据结构错了:https://github.com/caio1982/CorreCuritiba/pull/3

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-03
        • 2019-05-03
        • 1970-01-01
        • 2013-09-25
        • 1970-01-01
        • 2014-10-03
        • 1970-01-01
        • 2016-10-28
        相关资源
        最近更新 更多