我在loadView方法中创建表,因为我需要调整它的大小,我在nib中创建单元格以便于编辑它们。
我一直收到下面的错误,当我的表在笔尖中创建时我没有得到。
UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath
我认为代码导致错误。
- (void)loadView
{
// Set the size for the table view
CGRect tableViewRect = CGRectMake(0, 30, 320, 436);
// Create a table viiew
UITableView *tableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
// This view contains the table view and the status bar
UIView *totalView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
[totalView addSubview:tableView];
self.view = totalView;
[tableView release];
[totalView release];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
if (indexPath.row == 0) {
return cellOne;
}
else {
return cellTwo;
}
}
else if (indexPath.section == 1) {
return cellThree;
}
else {
return cellFour;
}
}
答案 0 :(得分:2)
如果覆盖-(void)loadView
,则不会加载nib文件。这假设cellOne
等属性为IBOutlet
。如果您想手动创建表格视图,则应删除-(void)loadView
方法,并将代码移至-(void)viewDidLoad
答案 1 :(得分:0)
您没有显示单元格*变量的设置方式。消息告诉你他们不是;那一个或多个是零。