我有一个表格视图似乎正在工作,但它不像预期的那样在单元格中显示文本。换句话说,当我加载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
请发布其余的UITableViewCell委托方法 –
@ ing0我认为没有其他人,因为我正在使用斯坦福大学的CoreD ataTableViewController。我的TableViewController是它的一个子类,所以我只实现了cellForRowAtIndexPath。其余的是CDTVC的代码。 – Mrwolfy
“页面”对象可能有问题。这是一个'NSObject'吗?它是否正确记录'page.name'? –