2013-06-25 46 views
1

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

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

注意:我只实现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 
+0

请发布其余的UITableViewCell委托方法 –

+0

@ ing0我认为没有其他人,因为我正在使用斯坦福大学的CoreD ataTableViewController。我的TableViewController是它的一个子类,所以我只实现了cellForRowAtIndexPath。其余的是CDTVC的代码。 – Mrwolfy

+0

“页面”对象可能有问题。这是一个'NSObject'吗?它是否正确记录'page.name'? –

回答

2

你需要改变:

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

要:

cell.textLabel.text = page.name; 

如果不工作,检查是否有任何界面元素是隐藏在第一行;)

+0

你是对的!但是这只是这篇文章中的一个错字,抱歉,感谢您的支持。 – Mrwolfy

相关问题