UITableView单元格未按预期显示文本

时间:2013-06-25 09:41:56

标签: uitableview

我有一个表视图似乎正在工作,但它没有按预期在单元格中显示文本。换句话说,当我加载tableView时,它只显示空白单元格,而我希望一个单元格显示下面代码中请求的文本。

我的代码下面有什么问题吗?

注意:我只实现了cellForRowAtIndexPath,因为我的tableView是斯坦福大学CoreDataTableViewController的子类。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"a_cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
        if (cell == nil) {
        NSLog(@"cell is nil");
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

    //Page is a managed object entity with a name attribute.
    Page *page = [self.fetchedResultsController objectAtIndexPath:indexPath];
    //The log below returns the expected string for the name value.
    NSLog(@"page.name %@", page.name);
    cell.textLabel.text = @"page.name";

    return cell;
}

现在只有一个对象或“页面”,所以我希望tableView(顶部)中只有一个单元格可以显示文本。事实上,所有人都吃空了。

当我使用:

记录indexPath时
NSLog(@"cellForRowAtIndexPath indexPath %@", indexPath); 

我打印了以下一次:

cellForRowAtIndexPath indexPath <NSIndexPath 0x836f1d0> 2 indexes [0, 0]

这是第一个细胞吗?

奇怪的是,当我尝试为下面的细胞着色时,细胞仍然是白色的:

cell.backgroundColor = [UIColor redColor];

下面是tableViewController的标题(我的,不是斯坦福的)。注意context属性,这样我就可以传递coreData managedObjectContext来执行我需要的提取。

#import <UIKit/UIKit.h>
#import "CoreDataTableViewController.h"

@interface CDST02TableViewController : CoreDataTableViewController


@property (strong, nonatomic) NSManagedObjectContext *context;


@end

1 个答案:

答案 0 :(得分:2)

您需要更改:

cell.textLabel.text = @"page.name";

要:

cell.textLabel.text = page.name;

如果这不起作用,请检查是否有任何界面元素隐藏第一行;)