0

3 つの異なるカスタム セルを含むテーブル ビューがあります。それぞれが 3 つの異なるセル クラスから読み込まれます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier1 = @"CellIdentifier";
    static NSString *CellIdentifier2 = @"Cell";
     static NSString *CellIdentifier3 = @"Cell";
    if (indexPath.section == 0)
    { 
         CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];

        if (cell == nil)
        {
            cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier1] autorelease];
        }
        cell.datelabel.text=@"dhhg";
      cell.nameLabel.text=@"shdhsjdj";
    cell.msg.text=@"sdhhhfhjhfj";

       cell.myImageView.image=[UIImage imageNamed:@"sd.png"]; 
        cell.likelabel.text=@"hhhf";

        return cell;

    }
    else 
    {


        Customcellwithimage *cell = (Customcellwithimage *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

        if (cell == nil)
        {
            cell = [[[Customcellwithimage alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier2] autorelease];
        }
        cell.datelabel1.text=@"sdhkhks";
        cell.nameLabel1.text=@"sdhjkhkshd";
        cell.msg1.text=@"sdsdsd";

        cell.myImageView1.image=[UIImage imageNamed:@"shdjhjhs"]; 
        cell.likelabel1.text=@"sjdh";
        cell.bannerview1.image=[UIImage imageNamed:@"dshjs"]; 

        return cell;
    }

 return Nil;

}

` .これは設計のための私のコードです.誰か私が間違っているところを助けてくれますか?

4

4 に答える 4

1

メインスレッドの cellForRowAtIndexpath でディスクからロードしているため、ラグが発生している可能性があります。メイン スレッドでの I/O 操作を避けるようにしてください。ここを見てください:ブロックを使用してバックグラウンドスレッドから画像をロードする

于 2012-11-01T09:16:47.073 に答える
0

画像サイズを確認してください。画像のサイズが大きい場合、テーブル ビューがスムーズに表示されない

于 2012-11-01T07:43:11.650 に答える
0

あなたのコードは私にはまったく問題ないようです。[UIImage imageNamed:@"sd.png"]iOS 3.0 より前のバージョンではメモリの問題が発生していたため、使用を避けてください。ただし、大きな画像では問題が発生する可能性があります。

あなたは読むことができます:

UIImage の imageNamed は、iOS4 で大きな画像のメモリの問題を引き起こしますか?

于 2012-11-01T07:52:16.673 に答える
0

まず cellIdentifier2 と cellIdentifier3 は @"cell" と同じ値です。
2 つの条件のみを含めました。1 つはセクション 0 用で、もう 1 つはその他の条件です。
また、cellIdentifier3 を使用するための条件についても言及する必要があります。
コードにエラーがないように見えるため、発生している問題については言及していません。
どのような出力が必要ですか? セクションごとに異なるセル??

于 2012-11-01T07:41:33.120 に答える