不期望获取的对象

时间:2014-01-11 01:28:27

标签: ios nsfetchedresultscontroller

为什么我的应用没有显示预期的行数?我正在测试我的tableView,它完美地显示了部分标题和部分中的预期行,但仅限于从开关循环中包含的文本填充。 在这种情况下,我使用固定的部分和章节标题:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 6;
}


+ (NSString*) titleForHeaderForSection:(int) section
{
    switch (section)
    {
        case 0 : return @"Overdue";
        case 1 : return @"Today";
        case 2 : return @"Tomorrow";
        case 3 : return @"Upcoming";
        case 4 : return @"Someday";
        case 5 : return @"Completed";
        //default : return [NSString stringWithFormat:@"Section no. %i",section + 1];
    }
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return [CollapsableTableViewViewController titleForHeaderForSection:section];
}

case 2部分(明天),预期的行数应为3,然后核心数据存储中有三个对象。但结果是0.这是使用过的代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    int numero = [[self.fetchedResultsController sections] count];
    NSLog(@"numero = %d", numero);
    switch (section)
    {
        case 2 : return numero;
        case 3 : return 30;
        default : return 8;
    }
}

这是用于演示它的模拟器截图(无效明天部分): enter image description here

1 个答案:

答案 0 :(得分:0)

问题在于你的方法。 目前你返回的是节数而不是节中的行数;)你忘了objectAtIndex:section

你必须使用:

[[[self.fetchedResultsController sections] objectAtIndex:section] count];

享受!