繁体   English   中英

使用tableView numberOfRowsInSection时遇到问题

[英]Trouble using tableView numberOfRowsInSection

我有一个json,我在一个单独的类中进行解析,并使用以下命令循环遍历:

            for( NSDictionary * game in games )
            {
                Game * teamGame = [[Game alloc] initWithJson:game];
                [teamGames addObject:teamGame];
            }

teamGames具有以下值:

{
    awayteam = "Olympics 2014";
    gametime = "2014-05-08 19:00:00";
    hometeam = Finland;
},
{
    awayteam = Latvia;
    gametime = "2014-05-11 19:00:00";
    hometeam = "Olympics 2014";
},
{
    awayteam = "Canada 2013";
    gametime = "2014-07-19 19:00:00";
    hometeam = USA;
},
{
    awayteam = "USA 2014";
    gametime = "2014-01-11 15:00:00";
    hometeam = Sweden;
},
{
    awayteam = "Test 2014";
    gametime = "2013-05-16 10:00:00";
    hometeam = Sweden;
},
{
    awayteam = "Olympics 2014";
    gametime = "2014-12-16 19:00:00";
    hometeam = Sweden;
},
{
    awayteam = "Test 2014";
    gametime = "2014-01-11 15:00:00";
    hometeam = Sweden;
},

我想用非重复日期填充表格标题,并使用相应的团队名称填充单元格的名称。 相同的日期需要放在相同的部分中。 我可以使用return 1;来填写表格return 1; numberOfRowsInSection但是如果有更多游戏,则不会显示。

我该如何实现?

关于该日期的日期和游戏数组的字典?

谢谢!

在numberOfRowsInSection中,只需返回数组的项目数(计数)。

此方法返回的值是将出现在tableview部分中的行数(如方法标题中所述)。

重新阅读您的问题,我认为这是您的解决方案:

1.)为每个日期创建一个NSMutableArray,其中包含该日期的游戏。

2)创建每个数组时,将其添加到NSMutableDictionary中,并将键设置为该数组的Date。 [dictionaryVar setObject:yourArrayOfGames forKey:@“ TheDateYouWantToUseForThatArray”];

3)在您的numberOfRowsInSection方法中,使用Integer section (该方法已经具有)来获取正确的数组。 由于您无法使用索引整数访问字典中的属性,因此需要将dict中的键转换为数组,然后使用整数部分来获取正确的键,然后最终在数组上使用它。 应该看起来像:

NSMutableArray *arrayOfDictKeys = [[NSMutableArray alloc] init];

arrayOfDictKeys = [dictionaryVar allKeys]; //(这将获取字典中所有键的列表) NSString *key = [arrayOfDictKeys objectAtIndex:section]; //(这是您使用var section

NSMutableArray *arrayForKey = [[NSMutableArray alloc] init];
arrayForKey = [dictionaryVar objectForKey:key];
return arrayForKey.count;

为此,您需要确保以正确的顺序将“ Key \\ Array”对插入字典中,否则使用“ section抓关键”可能会抓到您意外的日期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM