为什么我的手机没有

时间:2014-04-25 18:18:25

标签: ios objective-c uitableview

我正在编写代码来使用包含在魔法记录中的CoreData数据库来填充UITableView。出于某种原因,虽然代码说明似乎正在工作,我的单元格被认为是零。为什么会这样?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...
    PassWhizEntity *pazz = [allPasses objectAtIndex:indexPath.row];
    cell.textLabel.text = pazz.destinationTeacherAttribute;
    //cell.detailTextLabel.text = [self.dateFormatter stringFromDate:pazz.dateAttribute];

    if (cell == nil)
    {
        NSLog(@"cell was nil");
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    return cell;
}

它只是打印单元格为零并加载一个空白的UITable。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的代码应该像

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil)
    {
        NSLog(@"cell was nil");
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    // Configure the cell...
    PassWhizEntity *pazz = [allPasses objectAtIndex:indexPath.row];
    cell.textLabel.text = pazz.destinationTeacherAttribute;
    //cell.detailTextLabel.text = [self.dateFormatter stringFromDate:pazz.dateAttribute];

    return cell;
}

您正在尝试设置未分配单元格的textLabel,这对单元格没有影响。单元格返回为零,因为tableview没有任何可以重复使用的单元格,因此如果需要,您有责任检查nil并创建新单元格。