0

私はiOSが初めてです。さまざまなカスタム セルをロードするテーブル ビューがあります。

からの私のコードは次のtableViewCellForRowAtIndexPathとおりです。

if (self.mainTableView .tag==SEARCH)
    {
        static NSString *cellId=@"Cella";
        CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellId];
        if (cell == nil) 
        {
            NSArray *topLevelOjects= [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
            cell=[topLevelOjects objectAtIndex:0];
        }
    //code goes here
    return cell;
}
else
{
    static NSString *mCell = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:mCell];
    if(cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
    }
    //code goes here
    return cell;
}

メソッド numberOfRowsInSections:(UITableView *) tableviewには次のものがあります。

    if (tableView.tag==SEARCH)
    {
        return [firstList count];
    }
    else
    {
        return [secondList count];
    }

私が抱えている問題は、ELSE が実行されるたびに、テーブルビューに最初と 2 番目の CustomCell の両方が含まれていることです。なぜ?

4

1 に答える 1

0

私はついに問題を見つけました。else 分岐で使用される識別子は、実際には CustomCell *cell =.. (if 分岐) で使用される識別子でした。Cella識別子はありませんでした:)。

于 2013-11-05T13:05:14.737 に答える