iPhone表格单元问题

时间:2012-01-27 00:52:41

标签: iphone objective-c ios ios4 interface-builder

我在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;
    }
}

2 个答案:

答案 0 :(得分:2)

如果覆盖-(void)loadView,则不会加载nib文件。这假设cellOne等属性为IBOutlet。如果您想手动创建表格视图,则应删除-(void)loadView方法,并将代码移至-(void)viewDidLoad

答案 1 :(得分:0)

您没有显示单元格*变量的设置方式。消息告诉你他们不是;那一个或多个是零。