如何在每一行中创建具有不同UITableViewCell的UITableView

时间:2015-01-23 06:13:59

标签: ios objective-c

我正在尝试在每行中创建一个UITableView,其中UITableViewCell不同。所以在UITableViewDataSource,我做了:

#pragma mark UITableViewDataSource
// I create a Table with 3 sections, each section with 1 row. 
// In each section I have a different class for my TableCell:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 3;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{   
    NSString *className;
    if (indexPath.row != 0)
        return nil;
    switch (indexPath.section)
    {
        case 0:
        {
            // Header cell
            className = NSStringFromClass([FirstRowCell class]);
            cell = [tableView dequeueReusableCellWithIdentifier:className
                                                                             forIndexPath:indexPath];
           return cell;
         }
        case 1:
        {
            // Header cell
            className = NSStringFromClass([SecondRowCell class]);
            cell = [tableView dequeueReusableCellWithIdentifier:className
                                                                             forIndexPath:indexPath];
           return cell;
         }
        case 2:
        {
            // Header cell
            className = NSStringFromClass([ThirdRowCell class]);
            cell = [tableView dequeueReusableCellWithIdentifier:className
                                                                             forIndexPath:indexPath];
           return cell;
         }
    return nil;
}

但我发现由于某种原因,我的第二行单元格会创建两次。我逐步通过代码,我不知道为什么它会被调用两次。

你能帮我找出问题的原因吗?

0 个答案:

没有答案